Usando emacs con thunderbird para componer y responder al correo

13

Se ha escrito mucho sobre el uso de emacs como un programa de correo electrónico primario completo. Estoy buscando algo con una configuración simple para poder mantener a Thunderbird como mi programa principal de administración de correo electrónico, pero redactar y enviar correos electrónicos en emacs. Dado que Python puede enviar correo desde la línea de comandos, sospecho que esto no sería demasiado difícil para emacs.

Siguiente paso: si es posible, todavía me gustaría poder sincronizar con un servidor imap para obtener los últimos ~ 100 correos electrónicos para poder componer respuestas en emacs. Esto no requeriría la administración de carpetas, sino cierta cantidad de sincronización, aunque no necesito mantener los mensajes disponibles localmente para emacs después de la sesión. ¿Todavía requeriría offlineimap?

¿Alguna sugerencia para una configuración adecuada?

hatmatrix
fuente
1
Echa un vistazo a EmacsWiki: Category Mail . Ofrece una serie de opciones, algunas de las cuales pueden resultarle útiles.
Dan
1
Sí, hay demasiadas opciones para configurar y probar. Agradecería los comentarios de usuarios experimentados que podrían tener una idea sobre qué alternativas podrían satisfacer mejor estas necesidades.
hatmatrix
2
mu4e parece apropiado para ti.
Shackra
1
No hay nada simple sobre Emacs. Esté preparado para pasar mucho tiempo personalizándolo a su gusto y aprendiendo algo o mucho elispen el camino. Sin embargo, es muy gratificante una vez que consigas que haga exactamente lo que quieres que haga. Utilizo Wanderlust, y todavía modifico su comportamiento de vez en cuando, ya ha pasado un año y modificar / personalizar Emacs ha sido una obsesión mía diaria.
ley
Sospecho que esta pregunta es actualmente demasiado amplia y debe hacerse más discreta, pero preferiría que la comunidad decida el punto.
Dan

Respuestas:

9

Puede usar el complemento Editor externo para Thunderbird y luego configurar su editor externo en emacs. Si visita este sitio , puede descargar el archivo exteditor_v100.xpi. Luego, desde el interior de Thunderbird, desde el administrador de complementos, puede "instalar el complemento desde el archivo". Después de reiniciar, puede encontrar las opciones para el Editor externo en el administrador de complementos, y desde allí puede colocar la ruta a sus emacs como su editor externo. Eso debería adaptarse a tus necesidades.

Con todo eso dicho:

Estoy buscando algo con una configuración simple para poder mantener a Thunderbird como mi programa principal de administración de correo electrónico, pero redactar y enviar correos electrónicos en emacs.

Esto es un problema, y ​​no estoy seguro de que realmente quieras esto. Cualquier configuración simple que edite el correo dentro de emacs no utilizará Thunderbird como su administración principal de correo electrónico.

Recomiendo usar mu4e y offlineimap. Comencé a usarlo antes de saber algo sobre emacs, y fue tan sencillo como puede ser un cliente de correo electrónico.

Seth Rothschild
fuente
Esta es potencialmente una mejor respuesta de lo que estás implicando. ¿Hay alguna posibilidad de que pueda editarlo para incluir información sobre cómo configurar el Editor externo en Thunderbird y, lo que es más importante, qué necesitaría hacer para la configuración en el lado de Emacs?
Dan
Desafortunadamente, no estoy en un lugar donde pueda jugar y probarlo en este momento. (Tampoco lo configuré yo mismo). Este es el sitio de extensión, pero me temo decir mucho más sin usarlo yo mismo. Parece que la configuración también podría depender del sistema operativo.
Seth Rothschild
Sí, creo que la extensión del editor externo está muerta, ¿la última actualización 2008? No disponible en la lista de extensiones. Solía ​​usarlo hasta que Thunderbird ya no lo admitía.
hatmatrix
@crippledlambda Parece que todavía funciona (lo acabo de probar), por lo que podría ser la mejor opción para lo que está buscando.
Seth Rothschild
@Seth, gracias, ¿funcionó (!?) pero no transfiere el contenido del búfer de emacs al mensaje como se describe. Actualmente, tener que copiar y pegar de nuevo en la ventana de mensajes de Thunderbird no resuelve la situación, pero espero que la solución sea algo simple. Sin embargo, es lo más cercano a lo que quería para esta pregunta, así que lo marcaré como respondido.
hatmatrix
4

Esto debería, al menos, comenzar:

pero redacta y envía correos electrónicos en emacs. Dado que Python puede enviar correo desde la línea de comandos, sospecho que esto no sería demasiado difícil para emacs.

Esto es lo que tengo en mi archivo de inicio para componer el correo, y enviarlo usando gmail, gnutsl debe instalarse en su sistema operativo:

;; send mail
(setq
 send-mail-function 'smtpmail-send-it
 message-send-mail-function 'smtpmail-send-it
 user-mail-address "[email protected]"
 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
)

Siguiente paso: si es posible, todavía me gustaría poder sincronizar con un servidor imap para obtener los últimos ~ 100 correos electrónicos para poder componer respuestas en emacs. Esto no requeriría la administración de carpetas, sino cierta cantidad de sincronización, aunque no necesito mantener los mensajes disponibles localmente para emacs después de la sesión

Debe configurar su buzón y habilitar IMAP , podrá administrar sus correos desde muchos dispositivos. Esta es mi configuración, para leer correos de gmail usando emacs y 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"))

¿Todavía requeriría offlineimap?

Nunca he usado offlineimap , pero debería hacerlo si desea administrar sus correos cuando está desconectado, luego, tan pronto como esté en línea, la sincronización se producirá entre su computadora y el servidor

El archivo ~ / .authinfo se usará para almacenar sus credenciales, y tendrá al menos dos líneas, la primera línea para enviar correos:

machine smtp.gmail.com port 587 login [email protected] password NotsoiNcreDiblePassword

El segundo para recuperar correos:

machine imap.gmail.com secret port 993 login [email protected] password NotsoiNcreDiblePassword

Nsukami _
fuente
2

Siguiente paso: si es posible, todavía me gustaría poder sincronizar con un servidor imap para obtener los últimos ~ 100 correos electrónicos para poder componer respuestas en emacs. Esto no requeriría la administración de carpetas, sino cierta cantidad de sincronización, aunque no necesito mantener los mensajes disponibles localmente para emacs después de la sesión. ¿Todavía requeriría offlineimap?

Si desea la sincronización con un servidor IMAP, le recomiendo trabajar con un maildir local y offlineimap para sincronizarlo con un servidor remoto. Dependiendo de la estructura de su carpeta, podría limitar la sincronización a un solo directorio y purgarla una vez que haya terminado. (Offlineimap no eliminará los correos electrónicos que eliminó localmente si también elimina el caché).

Sin embargo, si Thunderbird ya administra su maildir, realmente no necesita offineimap, ya que simplemente puede abrir los correos electrónicos existentes como archivos (esa es la belleza de maildir en comparación con algunos formatos más densos).

Para escribir correos electrónicos, solo necesita crear archivos de texto con los encabezados correctos. message-modehace esto por ti (La mayoría de los clientes de correo electrónico para Emacs simplemente reutilizan en message-modelugar de inventar su propia interfaz para redactar correos electrónicos). Una vez que tenga un archivo de correo electrónico válido, puede usar un comando separado (como msmtp) para enviarlo. Puede configurar message-modepara usar msmtp de esta manera:

(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")

Su configuración de msmtp es independiente de Emacs y puede usarla fuera de Emacs.

Ahora solo está a un paso de leer su correo electrónico en Emacs. Para esta tarea recomiendo usar mu4e. Por supuesto, esto es completamente opcional, ya que puede leer su maildir sincronizado con cualquier otro cliente de correo. Thunderbird, por ejemplo, puede usar un maildir local como back-end de almacenamiento.

rekado
fuente