Dovecot ne servant pas tous les messages via IMAP

1

J'ai une configuration standard Debian / Dovecot / Postfix. De plus, je lance l'indexeur notmuchmail pour rechercher rapidement des messages. En tant que client de messagerie, j'utilise emClient sous Windows et j'ai également lancé Rainloop Webmail.

J'ai utilisé notmuchmail pour rechercher un message particulier et je l'ai trouvé, reçu il y a environ 5 ans. Quand je vérifie avec emClient, les messages ne remontent qu’il ya 3 ans et demi. Tout d’abord, j’ai soupçonné qu’emClient n’avait pas téléchargé tous les messages, mais après vérification auprès de Rainloop, j’ai également vu le message le plus ancien visible via IMAP datant de 3 1/2 ans.

En recherchant le problème, il est suggéré de resynchroniser le client de messagerie en supprimant le dovecot-uidlist dans mon Maildir ( https://www.dovecot.org/list/dovecot/2013-October/092803.html ), ce que j'ai fait. emClient a resynchronisé tous les messages en conséquence MAIS rien n'a changé, le message le plus ancien date de 3 1/2 ans.

Alors maintenant, je suis désemparé ... Y a-t-il autre chose que je puisse faire pour avoir accès à TOUS mes messages via IMAP. Mon serveur exécute Dovecot 2.2.13.

sortie "du pigeonnier -n"

# 2.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 3.16.0-4-amd64 x86_64 Debian 8.9
login_trusted_networks = 192.168.1.0/24
mail_location = maildir:~/Maildir
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
  separator = /
}
passdb {
  driver = pam
}
plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
protocols = " imap sieve"
quota_full_tempfail = yes
service auth {
  unix_listener auth-userdb {
    mode = 0600
    user = username
  }
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}
ssl = required
ssl_cert = </etc/letsencrypt/live/a.b.com/fullchain.pem
ssl_cipher_list = AES128+EECDH:AES128+EDH
ssl_dh_parameters_length = 2048
ssl_key = </etc/letsencrypt/live/a.b.com/privkey.pem
ssl_protocols = !SSLv2 !SSLv3
userdb {
  driver = passwd
}
protocol lda {
  info_log_path =
  log_path =
  mail_plugins = " sieve"
}
Hans Meiser
la source
Veuillez fournir des informations sur votre configuration ( doveconf -n ) et vérifiez dans votre journal de messagerie les informations pertinentes. Jetez également un coup d'oeil aux différences de propriété / autorisations de fichier.
Jens Erat
Existe-t-il un guide sur les autorisations requises? Je n'arrive pas à le trouver ici: wiki.dovecot.org/MailboxFormat/Maildir et cela ne s'applique pas puisque ce n'est pas une boîte aux lettres partagée: wiki.dovecot.org/SharedMailboxes/Permissions
Hans Meiser
Il n'y a donc rien qui semble être lié dans mail.err ou mail.log, les autorisations du message particulier qui ne s'affiche pas sont les mêmes que celles des autres qui apparaissent: -rw ------- 1 myuser myuser 10395837 6 octobre 2013
Hans Meiser
Il n'y a pas de directive générale, Dovecot doit pouvoir accéder au courrier (mais le mode d'accès ne doit pas être trop permissif). Les autorisations réellement requises dépendent de la configuration, mais toute différences entre les messages qui apparaissent et ceux qui ne le font pas indiqueraient un problème probable. S'ils sont identiques, vous allez probablement bien.
Jens Erat

Réponses:

0

Index brisés et autres problèmes de boîte aux lettres

Cela ressemble à un problème lié à un index de boîte aux lettres endommagé, ce que Dovecot est généralement très efficace pour résoudre seul. En cas d'échec, vous pouvez forcer Dovecot à réparer les index et autres problèmes à l'aide de

doveadm force-resync -u <username> <mailbox>

dans le cas de l'utilisateur johndoe et les courriers ne figurant pas dans sa boîte de réception, la commande serait

doveadm force-resync -u johndoe INBOX

Fonctionnement doveadm -Dv force-resync ... (sortie debug et verbose) pourrait fournir plus d’informations sur les problèmes.

Problèmes côté client

Dans de rares cas, les clients de messagerie peuvent pâtir de données locales incohérentes, en particulier lorsque les messages ont été renumérotés côté serveur en raison de problèmes de boîte aux lettres. Certains clients de messagerie connaissent les fonctions de "réparation", d'autres peuvent vous demander de supprimer et de recréer la boîte aux lettres et ainsi déclencher une synchronisation complète.

Jens Erat
la source