Para enviar correos desde terminal siempre podremos utilizar el clásico programa mail. Sin embargo en su actual versión ninguna de las opciones disponibles nos dejará adjuntar ficheros a nuestros correos, lo que limita bastante la funcionalidad de la herramienta. Típicamente podíamos adjuntar correos con la opción -a
, pero actualmente dicha opción es para modificar headers:
La alternativa más directa y sencilla es utilizar Mutt. Lo podemos instalar en nuestro sistema Debian con apt-get
:
apt-get install mutt
Para utilizarlo la sintaxis es prácticamente igual que con mail. Con un echo podemos pasarle el cuerpo del mensaje. La opción -s es para el título del correo (subject) y -a para adjuntar (attach) un fichero o tantos ficheros como deseemos. Nuestro correo tendrá que ir especificado después de los signos --
al final:
echo "Cuerpo del mensaje" | mutt -s "Correo de prueba" -a fichero1 fichero2 -- correo@example.com
Cuando enviéis el correo comprobad en /var/log/mail.log que se hace con un mínimo de seguridad conectando con protocolo SSL con el servidor (aunque esto no quiere decir que el correo en sí vaya cifrado):
... Oct 14 17:46:58 jota-pc sSMTP[17662]: Creating SSL connection to host Oct 14 17:46:58 jota-pc sSMTP[17662]: SSL connection using RSA_AES_128_CBC_SHA1 ...
Error GPGME: CMS protocol not available
Si observáis dicho error al mandar un correo es porque no tenéis instalado el paquete gpgsm (GNU Privacy Guard utilizado en mensajes S/MIME). El tema ya fue tratado en las listas de bugs de Debian. Podremos optar por instalar el paquete correspondiente:
apt-get install gpgsm
O bien por deshabilitar el uso de GPGME en /etc/Muttrc.d/gpg.rc modificando:
set crypt_use_gpgme=yes
A:
set crypt_use_gpgme=no
En cualquier caso, si no utilizamos cifrado para los correos el error debería considerarse únicamente un warning ya que no afecta a la funcionalidad de envío de correos como tal.