web-dev-qa-db-fra.com

Le serveur IMAP n'affiche pas le courrier reçu

J'ai récemment mis en place un tout nouveau serveur de messagerie utilisant Dovecot et Postfix, qui envoie et reçoit correctement le courrier, avec le /var/mail/ boîte aux lettres d'annuaire.

Voici le problème: le courrier n'est pas visible via l'interface Webmail Roundcube, mais le courrier est facilement accessible en utilisant mutt et en regardant simplement votre /var/mail dossier.

Voici où cela se passe mal, IMAP ne montre pas qu'il y a quelque chose dans la boîte de réception de l'utilisateur, même si tout le reste fonctionne.

Test IMAP:

robo@some-server:~$ telnet localhost imap
Trying ::1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot (Ubuntu) ready.
a1 LOGIN robo yetanotherrandompasswordtofoolyou
a1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY MOVE] Logged in
a2 LIST "" "*"
* LIST (\HasNoChildren \Sent) "." Sent
* LIST (\HasNoChildren) "." INBOX
a2 OK List completed.
a3 EXAMINE INBOX
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS ()] Read-only mailbox.
* 0 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1431224194] UIDs valid
* OK [UIDNEXT 1] Predicted next UID
* OK [NOMODSEQ] No permanent modsequences
a3 OK [READ-ONLY] Examine completed (0.000 secs).
a4 FETCH 1 BODY[]
a4 BAD Error in IMAP command FETCH: Invalid messageset

En même temps, il y a exactement un message dans /var/mail/robo récemment reçu.

1
Robobenklein

Trouvé le problème:

Dovecot IMAP n'avait pas été configuré pour utiliser le format de messagerie mbox, qui pouvait simplement être corrigé en ajoutant la ligne suivante à mon /etc/dovecot/dovecot.conf:

mail_location = mbox:~/mail:INBOX=/var/mail/%u

Dans laquelle le mail_location n'avait pas été spécifié précédemment.

1
Robobenklein