rnwood / smtp4dev

smtp4dev - the fake smtp email server for development and testing
BSD 3-Clause "New" or "Revised" License
2.97k stars 334 forks source link

IMAP not working with GNOME Evolution client #1468

Closed gitkrakel closed 2 months ago

gitkrakel commented 2 months ago

When I try to connect to IMAP using GNOME Evolution, it does not get back the Inbox folder. Instead, it gets back a folder named *"INBOX" with no messages inside.

Below is the traffic between the SMTP server and the email client (click arrows to expand):

Client to SMTP ``` A00520 CAPABILITY A00521 LOGIN local 1234 A00522 CAPABILITY A00523 ENABLE UTF8=ACCEPT A00524 LIST "" INBOX A00525 LSUB "" INBOX A00526 LIST "" INBOX A00527 LSUB "" INBOX A00528 LIST "" "*" A00529 LSUB "" "*" A00530 LIST "" INBOX A00531 LSUB "" INBOX A00532 STATUS "*"INBOX"" (MESSAGES UNSEEN UIDVALIDITY UIDNEXT) A00533 SELECT "*"INBOX"" A00534 UID FETCH 1:* (UID FLAGS) A00535 IDLE ```
SMTP to client ``` * OK smtp4dev * CAPABILITY IMAP4rev1 ACL IDLE ENABLE UTF8=ACCEPT SASL-IR A00520 OK CAPABILITY completed. A00521 OK LOGIN completed. * CAPABILITY IMAP4rev1 ACL IDLE ENABLE UTF8=ACCEPT SASL-IR A00522 OK CAPABILITY completed. * ENABLED UTF8=ACCEPT A00523 OK ENABLE command completed. * LIST () "/" *"INBOX" A00524 OK LIST Completed in 0.00 seconds. A00525 OK LSUB Completed in 0.00 seconds. * LIST () "/" *"INBOX" A00526 OK LIST Completed in 0.00 seconds. A00527 OK LSUB Completed in 0.00 seconds. * LIST () "/" *"INBOX" A00528 OK LIST Completed in 0.00 seconds. A00529 OK LSUB Completed in 0.00 seconds. * LIST () "/" *"INBOX" A00530 OK LIST Completed in 0.00 seconds. A00531 OK LSUB Completed in 0.00 seconds. * STATUS *"INBOX" (MESSAGES 0 UIDNEXT 1 UIDVALIDITY 1234 UNSEEN 0) A00532 OK STATUS completed in 0.00 seconds. * 0 EXISTS * 0 RECENT * OK [UIDNEXT 1] Predicted next message UID. * OK [UIDVALIDITY 1234] Folder UID value. * FLAGS (\Deleted \Seen) * OK [PERMANENTFLAGS (\Deleted \Seen)] Avaliable permanent flags. A00533 OK [READ-WRITE] SELECT completed in 0.00 seconds. A00534 OK FETCH command completed in 0.00 seconds. + idling ```

One workaround is to create an account in Evolution that connects to another IMAP server to populate the folder list, then switch the server address to smtp4dev's IMAP server. Then I can retrieve messages in the Inbox folder from smtp4dev. However, as soon as I "refresh" the account in Evolution, it tries to get the list of folders again and the Inbox folder disappears.

rnwood commented 2 months ago

Thanks for the detailed report. I believe it's the LSUB response not being implemented that is causing this.

rnwood commented 2 months ago

Resolved in PR #1469

rnwood commented 2 months ago

Thanks for the detailed report. I believe it's the LSUB response not being implemented that is causing this.

This guess was wrong. It's something to do with the UTF-8 capability support in Evolution or the IMAP library we derived from. The *" should not have been displayed in Evolution as part of the folder name. Since it's only sending folder name INBOX not losing anything by disabling it.

gitkrakel commented 2 months ago

Confirmed working on my side. Thanks for the quick turnaround!