emacs

Múltiples cuentas de smtp en GNUS con msmtp

En un artículo anterior ya se explico cómo configurar Gmail en Gnus incluyendo el servidor de smtp. La idea de este artículo es que Gnus elija el servidor smtp en función del from que introducimos.

Hay diferentes formas de gestionar esto. Aquí se ha elegido usar msmtp por su estabilidad y sencillez.

Así es que lo primero será instalar msmtp:

sudo apt-get install msmtp

Después se crea un fichero .msmtprc para almacenar las cuentas de smtp:

#################################
account gmail
host smtp.gmail.com
domain smtp.gmail.com
tls on
tls_certcheck off
tls_starttls on
auth on
user correo@gmail.com
from correo@gmail.com
password XXXXXXXX
port 587
logfile ~/msmtplog.txt
##################################
account gnues
host chapters.gnu.org
domain chapters.gnu.org
tls on
tls_certcheck off
tls_starttls on
auth on
user miusuario
from miusuario@es.gnu.org
password XXXXXXXXX
port 25
logfile ~/msmtplog.txt
##################################

Una vez hecho esto se cambian los permisos del fichero de configuración:

chmod 600 ~/.msmtprc

Y ahora se reemplaza la configuración que hubiera en el .emacs relativa a smtp por lo siguiente:

(defun cg-feed-msmtp ()
  (if (message-mail-p)
      (save-excursion
	(let* ((from
		(save-restriction
		  (message-narrow-to-headers)
		  (message-fetch-field "from")))
	       (account
		(cond
		 ;; I use email address as account label in ~/.msmtprc
		 ((string-match "correo@gmail.com" from) "gmail")
		 ;; Add more string-match lines for your email accounts
		 ((string-match "miusuario@es.gnu.org" from) "gnues"))))
	  (setq message-sendmail-extra-arguments (list "-a" account))))))

(setq message-sendmail-envelope-from 'header)
(add-hook 'message-send-mail-hook 'cg-feed-msmtp)

;; with Emacs 23.1, you have to set this explicitly (in MS Windows)
;; otherwise it tries to send through OS associated mail client
(setq message-send-mail-function 'message-send-mail-with-sendmail)
;; we substitute sendmail with msmtp
(setq sendmail-program "/usr/bin/msmtp")

Modificando claro lo relativo al correo y a las etiquetas de msmtp que hayais puesto.

Con esto ya debería valer, pero podéis depurar posibles errores lanzando msmtp desde línea de comandos y revisando el log que en este caso está en ~/msmtplog.txt

Suerte!

Estándar

One thought on “Múltiples cuentas de smtp en GNUS con msmtp

  1. Pingback: Gmail desde Emacs Gnus « Blog de David Arroyo Menéndez

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s