Fastmail: App passwords are always rejected

Description

After hitting #2216, I generated an IMAP password for fastmail, but my credentials are always rejected.

To Reproduce…

Steps to reproduce the behavior:

  1. Open mailspring.
  2. Log into a mailspring account.
  3. Select fastmail as a provider.
  4. Visit Fastmail.
  5. Generate an app password (IMAP, read-only: false).
  6. Provide that password to mailspring.

Expected Behavior

App password should work

Actual Behavior

The password is rejected. I’ve generated it a few times, and both copy-pasted and manually typed, just to make sure there’s not dumb issues like that.

The log file provided says (there’s some weird encoding issues in the file, but I don’t think that’s relevant):

----------IMAP----------
connect <mailcore::IMAPSession:0x7fff2cf29e10>
* OK IMAP4 ready
ssl connect imap.fastmail.com 993 2
OpenSSL version: OpenSSL 1.1.0f  25 May 2017
1 CAPABILITY
* CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ENABLE UIDPLUS SASL-IR NAMESPACE CONDSTORE SORT LIST-EXTENDED QRESYNC MOVE SPECIAL-USE CREATE-SPECIAL-USE IDLE AUTH=PLAIN
1 OK completed
connect ok
login
2 LOGIN "hugo@barrera.io" *********
2 NO Incorrect username or password.

Screenshots

Setup

  • OS and Version: ArchLinux
  • Mailspring Version: 1.7.8-13635bcf

(Originally posted by WhyNotHugo on GitHub.)

Hey folks! Thanks for reporting this - I’ve been trying to reproduce this one but things seem to be working. Here’s what I’ve tried so far:

  1. Created a new Fastmail account on their 30-day free trial of the Standard plan. NOTE: It seems the basic $3/mo plan no longer supports IMAP. (Fastmail)

  2. Created an app password on Fastmail. NOTE: This required that I verify my phone number, which is pretty intense. I wonder if everyone needs to have a phone listed here for IMAP to work? Fastmail

  3. I put the app password into the Mailspring sign in panel and it was able to connect to my account.

Any ideas? I wonder if they’ve made the requirements stricter for IMAP recently and there’s a step that is subtly required now…