Utilizzare emacs con thunderbird per comporre e rispondere alla posta


13

C'è molto scritto per l'utilizzo di emacs come programma di posta elettronica principale completo. Sto cercando qualcosa con una semplice configurazione in modo da poter mantenere Thunderbird come il mio programma di gestione e-mail principale ma comporre e inviare e-mail in emacs. Dal momento che Python può inviare posta dalla riga di comando, sospetto che ciò non sarebbe troppo difficile per Emacs.

Passaggio successivo: se possibile, mi piacerebbe comunque essere in grado di sincronizzarmi con un server imap per estrarre le ultime ~ 100 e-mail in modo da poter comporre le risposte in emacs. Ciò non richiederebbe la gestione delle cartelle, ma una certa sincronizzazione, anche se non ho bisogno di mantenere i messaggi localmente disponibili per emacs dopo la sessione. Richiederebbe comunque offlineimap?

Qualche suggerimento per una configurazione adatta?


1
Dai un'occhiata a EmacsWiki: Mail di categoria . Offre una serie di opzioni, alcune delle quali potresti trovare utili.
Dan

1
Sì, ci sono troppe opzioni per configurare e testare. Gradirei il contributo di utenti esperti che potrebbero avere un'idea delle alternative che potrebbero soddisfare al meglio queste esigenze.
Hatmatrix,

2
mu4e sembra appropriato per te.
Shackra,

1
Emacs non ha nulla di semplice . Preparati a dedicare molto tempo a personalizzarlo a tuo piacimento e ad apprendere un po 'o molto elisplungo il percorso. Tuttavia, è molto gratificante quando riesci a fare esattamente quello che vuoi che faccia. Uso Wanderlust, e di tanto in tanto sto ancora modificando il suo comportamento - è già passato un anno e modificare / personalizzare Emacs è stata una mia ossessione quotidiana.
elenco delle leggi

Sospetto che questa domanda sia attualmente troppo ampia e debba essere resa più discreta, ma preferirei che la comunità decidesse il punto.
Dan

Risposte:


9

Puoi utilizzare il componente aggiuntivo Editor esterno per Thunderbird, quindi impostare l'editor esterno su emacs. Se vai su questo sito , puoi scaricare il file exteditor_v100.xpi. Quindi dall'interno di Thunderbird, dal gestore dei componenti aggiuntivi, è possibile "installare il componente aggiuntivo dal file". Dopo il riavvio, puoi trovare le opzioni per l'Editor esterno nel gestore dei componenti aggiuntivi e da lì puoi inserire il percorso di emacs come editor esterno. Questo dovrebbe soddisfare le tue esigenze.

Detto questo:

Sto cercando qualcosa con una semplice configurazione in modo da poter mantenere Thunderbird come il mio programma di gestione e-mail principale ma comporre e inviare e-mail in emacs.

Questo è un problema e non sono sicuro che lo desideri davvero. Qualsiasi semplice configurazione che modifica la posta all'interno di emacs non utilizzerà Thunderbird come principale gestione della posta elettronica.

Consiglio vivamente di usare mu4e e offlineimap. Ho iniziato a usarlo prima di sapere qualcosa su Emacs ed era semplice come può essere un client di posta elettronica.


Questa è potenzialmente una risposta migliore di quanto tu stia insinuando. Qualche possibilità che potresti modificarlo per includere informazioni su come configurare l'Editor esterno in Thunderbird e, cosa più importante, cosa dovresti fare per l'installazione sul lato Emacs?
Dan

Purtroppo non sono in un posto dove posso giocarci e provarlo al momento. (Anche io non l'ho impostato da solo.) Questo è il sito di estensione ma ho paura di dire molto di più senza usarlo da solo. Sembra che la configurazione potrebbe anche dipendere dal sistema operativo.
Seth Rothschild,

Sì, credo che l'estensione dell'editor esterno sia morta - ultimo udpate 2008? Non disponibile nell'elenco delle estensioni. Lo usavo fino a quando non era più supportato da Thunderbird.
hatmatrix,

@crippledlambda Sembra funzionare ancora (l'ho appena provato), quindi potrebbe essere l'opzione migliore per quello che stai cercando.
Seth Rothschild,

@Seth, grazie - ha funzionato (!?) ma non trasferisce il contenuto dal buffer emacs al messaggio come descritto. Attualmente dover copiare e incollare nuovamente nella finestra dei messaggi di Thunderbird in modo da non risolvere la situazione, ma spero che la correzione sia qualcosa di semplice. Tuttavia, è il più vicino a quello che volevo per questa domanda, quindi lo segnerò come risposta.
hatmatrix,

4

Questo dovrebbe almeno iniziare:

ma componi e invia email in emacs. Dal momento che Python può inviare posta dalla riga di comando, sospetto che ciò non sarebbe troppo difficile per Emacs.

Questo è ciò che ho nel mio file init per comporre la posta e inviarli usando gmail, gnutsl dovrebbe essere installato nel tuo sistema operativo:

;; send mail
(setq
 send-mail-function 'smtpmail-send-it
 message-send-mail-function 'smtpmail-send-it
 user-mail-address "patrick.nsukami@gmail.com"
 smtpmail-starttls-credentials '(("smtp.gmail.com" "587" nil nil))
 smtpmail-auth-credentials  (expand-file-name "~/.authinfo")
 smtpmail-default-smtp-server "smtp.gmail.com"
 smtpmail-smtp-server "smtp.gmail.com"
 smtpmail-smtp-service 587
 smtpmail-debug-info t
 starttls-extra-arguments nil
 starttls-gnutls-program "/usr/bin/gnutls-cli"
 starttls-extra-arguments nil
 starttls-use-gnutls t
)

Passaggio successivo: se possibile, mi piacerebbe comunque essere in grado di sincronizzarmi con un server imap per estrarre le ultime ~ 100 e-mail in modo da poter comporre le risposte in emacs. Ciò non richiederebbe la gestione delle cartelle, ma una certa sincronizzazione, anche se non ho bisogno di mantenere i messaggi localmente disponibili per emacs dopo la sessione

Devi configurare la tua casella di posta e abilitare IMAP , sarai in grado di gestire i tuoi messaggi da molti dispositivi. Questa è la mia configurazione, per leggere mail da Gmail usando emacs & gnus:

;read mail w/ gnus
(setq gnus-select-method '(nnimap "gmail"
(nnimap-address "imap.gmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl)))
(setq mm-discouraged-alternatives '("text/html" "text/richtext"))

Richiederebbe comunque offlineimap?

Non ho mai usato offlineimap , ma dovresti se vuoi gestire i tuoi messaggi quando sei offline, quindi, non appena sei online, la sincronizzazione avverrà tra il tuo computer e il server

Il file ~ / .authinfo verrà utilizzato per archiviare le tue credenziali e avrà almeno due righe, la prima riga per l'invio di mail:

machine smtp.gmail.com port 587 login you@somewhere.com password NotsoiNcreDiblePassword

Il secondo per recuperare le mail:

machine imap.gmail.com secret port 993 login you@somewhere.com password NotsoiNcreDiblePassword


2

Passaggio successivo: se possibile, mi piacerebbe comunque essere in grado di sincronizzarmi con un server imap per estrarre le ultime ~ 100 e-mail in modo da poter comporre le risposte in emacs. Ciò non richiederebbe la gestione delle cartelle, ma una certa sincronizzazione, anche se non ho bisogno di mantenere i messaggi localmente disponibili per emacs dopo la sessione. Richiederebbe comunque offlineimap?

Se vuoi la sincronizzazione con un server IMAP, ti consiglio di lavorare con un maildir locale e offlineimap per sincronizzarlo con un server remoto. A seconda della struttura delle cartelle, è possibile limitare la sincronizzazione a una singola directory ed eliminarla al termine. (Offlineimap non eliminerà le email che hai eliminato localmente se elimini anche la cache.)

Se il tuo maildir è già gestito da Thunderbird, tuttavia, non hai davvero bisogno di offineimap in quanto puoi semplicemente aprire le e-mail esistenti come file (questa è la bellezza di maildir rispetto ad un formato più denso).

Per scrivere e-mail devi solo creare file di testo con le intestazioni giuste. message-modefa questo per te. (La maggior parte dei client e-mail per Emacs semplicemente riutilizza message-modeinvece di inventare la propria interfaccia per la composizione di e-mail.) Una volta che si dispone di un file e-mail valido, è possibile utilizzare un comando separato (come msmtp) per inviarlo. È possibile configurare message-model'utilizzo di msmtp in questo modo:

(setq mail-specify-envelope-from t)
(setq mail-envelope-from 'header)
(setq message-sendmail-envelope-from 'header)
(setq message-send-mail-function 'message-send-mail-with-sendmail)

;;use msmtp instead of sendmail
(setq sendmail-program "/usr/bin/msmtp")

La tua configurazione msmtp è indipendente da Emacs e puoi usarla al di fuori di Emacs.

Ora sei solo un piccolo passo dalla lettura della tua email in Emacs. Per questa attività ti consiglio di usare mu4e. Naturalmente, questo è completamente opzionale in quanto puoi leggere il tuo maildir sincronizzato con qualsiasi altro client di posta. Thunderbird, ad esempio, può utilizzare un maildir locale come back-end di archiviazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.