web-dev-qa-db-fra.com

Lire des e-mails (à partir de gmail) dans emacs 24

Quelle est la méthode faisant autorité actuellement pour vérifier et envoyer des e-mails dans emacs 24?

J'ai vérifié les liens SO:

  1. Configuration de Gmail dans Emacs VM
  2. https://superuser.com/questions/476714/how-to-configure-emacs-smtp-for-using-a-secure-server-gmail
  3. Quel paquet de messagerie Emacs dois-je utiliser?

Et comprenez les packages smtpmail , rmail , sont impliqués, ainsi qu'un fichier .authinfo .

J'ai créé un fichier .authinfo de la forme:

machine mail.example.org port 25 login myuser password mypassword

Et j'ai ajouté ce qui suit à mon init.el fichier:

(setq smtpmail-stream-type 'ssl)
(setq smtpmail-smtp-server "smtp.gmail.com")
(setq smtpmail-smtp-service 465)

(Comme le deuxième lien, celui du superutilisateur, a déclaré.)

Mais quand je lance M-x rmail, il se connecte toujours à l'adresse e-mail locale de mon ordinateur, plutôt qu'à mon gmail. Que dois-je configurer pour me connecter et lire/écrire des e-mails? (Si vous pouviez inclure des frappes, ce serait également très utile.)

J'utilise Ubuntu 12.04 si cela fait une différence.

40
Mittenchops

Après avoir essayé de nombreuses façons, j'utilise maintenant offlineimap pour synchroniser les messages entre ma machine et le serveur google. Gnus lit ensuite les messages de la machine locale. Postfix est utilisé pour envoyer des messages au serveur smtp gmail. Vertus de cette configuration: la lecture/l'envoi d'e-mails n'implique pas l'attente de serveurs en gnus (rapide), peut lire/envoyer des e-mails en mode hors connexion (transmis au serveur lorsqu'il est à nouveau en ligne). Si vous préférez utiliser RMail, vous pouvez le faire à la place de gnus.

C'est ce que je fais sur Ubuntu 13.10.

offlineimap, exécuter met périodiquement le courrier dans ~/Maildr/Gmail

contenu de ~/.offlineimaprc:

[general]
# List of accounts to be synced, separated by a comma.
accounts = Gmail
maxsyncaccounts = 2

[Account Gmail]
# Identifier for the local repository; e.g. the maildir to be synced via IMAP.
localrepository = Gmail-local
# Identifier for the remote repository; i.e. the actual IMAP, usually non-local.
remoterepository = Gmail-remote
# Status cache. Default is plain, which eventually becomes huge and slow.
status_backend = sqlite

[Repository Gmail-local]
type = Maildir
localfolders = ~/Maildir/Gmail

[Repository Gmail-remote]
type = Gmail
remoteuser = [email protected]
remotepass = YourPass
folderfilter = lambda foldername: foldername in ['INBOX', 'Dev']
# Necessary as of OfflineIMAP 6.5.4
sslcacertfile = /etc/ssl/certs/ca-certificates.crt

gnus lit le courrier de ~/Maildir/Gmail

Dans emacs, la variable gnus-home-directory est définie sur "~/Documents/gnus". Contenu de "~/Documents/gnus/.gnus":

(setq gnus-select-method
      '(nntp "localhost")) ; I also read news in gnus; it is copied to my local machine via **leafnode**

(setq gnus-secondary-select-methods
      '((nnmaildir "GMail" (directory "~/Maildir/Gmail")) ; grab mail from here
    (nnfolder "archive"
      (nnfolder-directory   "~/Documents/gnus/Mail/archive") ; where I archive sent email
      (nnfolder-active-file "~/Documents/gnus/Mail/archive/active")
      (nnfolder-get-new-mail nil)
      (nnfolder-inhibit-expiry t))))

Envoi de courrier: variables de configuration emacs: mail-user-agent est défini sur 'gnus-user-agent send-mail-function est défini sur' sendmail- send-it user-mail-address est défini sur "[email protected]"

La chose la plus délicate est de configurer Postfix, qui est clairement décrit ici :

Autres commentaires pour répondre aux questions:

Le programme offlineimap est contrôlé par le fichier ~/.offlineimaprc. Lorsque offineimap s'exécute, il conservera les informations dans le répertoire ~/.offlineimap. Vous pouvez lire les documents pour expliquer comment tout cela fonctionne.

Re: envoyer du courrier: En fait, j'avais l'habitude d'envoyer du courrier directement depuis emacs. Cela impliquait de jouer avec un certain nombre de choses. Il s'est avéré beaucoup plus facile de laisser Postfix s'en occuper. Par exemple, j'utilise plusieurs comptes de messagerie différents pour envoyer du courrier à partir de Gnus; Je le fais maintenant savoir aux gnus via les styles de publication, et je laisse postfix se soucier de l'adresse qui doit aller à quel serveur, et comment.

29
Jeffrey DeLeo

En effet mu4e est mon choix: http://www.djcbsoftware.nl/code/mu/mu4e.html

éditer: J'ai aussi essayé notmuchmail et récupéré les emails avec mbsync (isync paquet Debian). mbsync a pris en charge les certificats prêts à l'emploi lorsque offlineimap avait besoin d'une étape de configuration. Certains disent que c'est plus fiable. Je préfère l'affichage des conversations de notmuch.

Mu4e utilise donc offlineimap pour récupérer le courrier, mu pour l'indexer et mu4e pour l'afficher dans emacs.

On peut même écrire des mails en texte riche en utilisant le mode org ! C'est encore expérimental mais voici un exemple sur la façon d'inclure une formule mathématique et un tracé écrit en python.

ps:

enter image description here

20
Ehvince

Je ne suis pas sûr qu'il y ait une "voie d'autorité actuelle"?

Assurez-vous de regarder http://www.emacswiki.org/emacs/CategoryMail

mu4e sonnait plutôt bien pour moi, mais comme je n'ai jamais réussi à configurer ce genre de chose pour moi, je ne peux faire aucune recommandation.

http://box.matto.nl/emacsgmail.html (pour le client Wanderlust ) est certainement pertinent.

4
phils

Comme @Ehvince, je recommande également mu4e, même si j'utilise maintenant uniquement Gnus. Mu4e est très facile à configurer/utiliser, pratique, rapide et les capacités de recherche/tri sont bonnes.

Bien que Wanderlust fonctionne, je l'ai trouvé un peu lourd en termes d'installation. Une fois qu'il a été configuré, j'ai créé une feuille de triche pour les raccourcis clavier que j'ai gardée à proximité pendant un certain temps. Je ne suis pas sûr qu'il soit activement maintenu.

J'ai entendu parler de Mew mais je ne l'ai jamais utilisé. Un point bonus est qu'il semble pouvoir être installé directement sous forme de package.

Je suis revenu à Gnus car il est fourni avec Emacs, aucun logiciel supplémentaire n'est nécessaire. Ma configuration actuelle comprend: Mairix (pour la recherche), OfflineImap (pour récupérer le courrier). Comme @Jeffrey, j'ai également lu des nouvelles dans Gnus.

3
rimero

Comme d'autres l'ont dit, il n'y a pas une seule façon "faisant autorité" de le faire. Au fil des ans, j'ai utilisé VM, Gnus, MH-E et Wanderlust, sans parler d'une multitude de clients de messagerie non emacs.

J'adorerais essayer mu4e, basé sur toutes les bonnes choses que j'entends à ce sujet, mais l'utilisation de offlineimap semble aller à l'encontre du but d'IMAP, au moins pour utiliser plusieurs ordinateurs. Je ne veux pas vraiment avoir à synchroniser des copies locales de courriels sur mon ordinateur portable professionnel, mon ordinateur portable domestique et mon ordinateur de bureau. (En fait, j'ai un référentiel local sur mon bureau au format MH, donc je pourrais le convertir en Maildir, mais la plupart de mes lectures de courrier se font à partir des ordinateurs portables de toute façon.)

J'utilise actuellement Gnus pour parler directement à un serveur IMAP. Il s'arrête parfois lors de la récupération des messages, mais en général, il est assez réactif. J'ai trouvé Wanderlust très difficile à configurer et très lent une fois que cela a fonctionné.

2
Tech Curmudgeon