Je pense à passer à la mutt
messagerie électronique. Cependant, j'ai quelques exigences.
- J'aimerais pouvoir stocker l'e-mail hors ligne.
- J'aimerais que les e-mails soient envoyés immédiatement sur mon ordinateur local, par opposition à une interrogation périodique (par exemple, en utilisant IMAP IDLE).
Pour le stockage hors ligne, je pourrais utiliser imapoffline
ou isync
. Je comprends que ce dernier est plus stable. Cependant, pour envoyer des e-mails à la demande, la seule option que j'ai trouvée pour isync est mswatch . Malheureusement, cela nécessite l'installation d'un programme sur le serveur de messagerie distant, ce qui n'est pas possible. Existe-t-il une solution qui me permettra d'utiliser mutt
, avec stockage de courrier électronique hors ligne et livraison instantanée de courrier électronique?
Réponses:
La seule façon de «pousser» le courrier immédiatement vers votre client est que le serveur le fasse dès la livraison du courrier. Cela nécessitera inévitablement que le logiciel soit installé et exécuté sur le serveur de messagerie, de sorte que chaque solution potentielle aura le même problème que
mswatch
.Des sondages fréquents sont probablement votre meilleure option.
D'après mon expérience, l'exécution
offlineimap
de cron ou similaire toutes les quelques minutes fonctionne assez bien.Certains programmes imap-fetching prennent en charge la commande imap IDLE. IDLE n'est pas exactement «push» (puisque le courrier est toujours extrait du serveur par le client) mais entraîne généralement des mises à jour presque instantanées de votre boîte aux lettres locale.
offlineimap le prend en charge mais le manuel indique que "le support IDLE est incomplet et expérimental. Des bugs peuvent être rencontrés."
fetchmail prend en charge IDLE depuis la version 5.0
la source
offlineimap
a une certaine prise en charge pour IDLE, mais le manuel dit "La prise en charge IDLE est incomplète et expérimentale. Des bogues peuvent être rencontrés."Don't set the automatic send/receive interval too short [less than 5 minutes] or you could end up endlessly polling the mail server, send/receive errors and sometimes even duplicates
(bien que ce soit pour un client spécifique).fetchmail
prend également en charge IDLE depuis la v5.0 fetchmail.info/fetchmail-features.htmlMalheureusement, les deux possibilités suggérées dans l'autre réponse étaient imparfaites.
offlineimap
était assez buggé dans le meilleur des cas. Par exemple, il n'y a aucun moyen d'exécuter automatiquement un script après l'arrivée de nouveaux messages.fetchmail
ne se synchronise pas bidirectionnellement.Au lieu de cela, la solution que j'ai finalement utilisée était une combinaison d' imapnotify et d' isync . J'ai configuré
imapnotify
pour exécuter un script lorsqu'un nouveau courrier est déclenché (via IDLE).Ce script s'exécute en
mbsync "${channel}:INBOX"
fonction du compte disposant de la messagerie. Ensuite, il s'exécutenotmuch new
. Enfin, il enregistre le nombre d'e-mails non lus dans un fichier comme ci-dessous. Le contenu de ce fichier est affiché sur un panneau de mon environnement de bureau.Mise à jour
imapnotify (nodejs-imapnotify) se déconnecte régulièrement sans avertissements / erreurs et manque souvent de nouveaux messages. python-imapnotify fonctionne également par intermittence. Cependant, goimapnotify fonctionne très bien dans mon expérience. Il abandonne rarement, et quand il le fait (par exemple en raison de déconnexions de réseau et / ou de cycles de suspension), il redémarre rapidement sans problème.
la source
offlineimap
: l'utilisation de l'postsynchook
option dans la configuration; c'est comme ça que je coursnotmuch new
..."No hook exists for “run after an IDLE response”. Email will show up, but may not be processed until the next refresh cycle."