Ando investigando un par de asuntos (ya os comentaré) para los cuales sería interesante poder enviar correos utilizando la terminal de Linux.
Como no cuento con un servidor de correo propio 🙂 he optado por usar mi querida cuenta de GMail para la recepción de los mismos y habilitando en mi equipo el servicio SSMTP
Instalación
Para que funcione necesitamos tener instalado:
- ssmtp
El cual podemos instalar desde Synpatic o la terminal con un
sudo apt-get install ssmtp
Configuración
Editamos el fichero /etc/ssmtp/ssmtp.conf
root=MICUENTA@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=MICUENTA@gmail.com
FromLineOverride=YES
UseSTARTTLS=YES
AuthUser=MICUENTA
AuthPass=MICLAVE
Donde
- MICUENTA es tu nombre de usuario en GMail ( si la cuenta es fulanito@gmail entonces MICUENTA es fulanito )
- MICLAVE es la contraseña para entrar en GMail 😉
Igualmente debemos indicar los usuarios que podrán usar el servicio modificando el fichero /etc/revaliases
root:fulanito@gmail.com:smtp.gmail.com:587
user_1:menganito@gmail.com:smtp.gmail.com:587
user_2:zetanito@gmail.com:smtp.gmail.com:587
Donde
- root, user_1 y user_2 son usuarios de Linux
- fulanito, menganito y zetanito son los nombres de las cuentas de GMail
Añade tantos usuarios como necesites
Comprobación
Para comprobar si funciona el envío de correos nada más sencillo que lanzar desde la terminal un
echo "Este es el cuerpo del mensaje de prueba" | mail -s "Subject de la prueba" cualquier_persona@dominio.es
Si te diese algún problema el envío de correos usando el comando mail puede que se deba a no tener instalados los paquetes
- mailx
- mailutils
Parece que existen algunas dependencias entre ellos que dan problemas por lo que recomiendo instalarlos de forma independiente y en el orden que aparecen en el enumerado de arriba
Esta información me va a ser muy útil! Excelente Blog.
Un saludo.
Me gustaMe gusta
Lo ideal sería utilizar este metodo para enviar adjuntos el backup de un sistema cada x días (cron). Las cuentas de gmail serían ideales.
El backup debería estar fragmentado en trozos de 9 o 10 megas.
Son ideas que se me ocurren.
Un saludo!
Me gustaMe gusta
Muy bueno el post, se te felicita, yo estoy trabajando con el servicio ssmtp, lo ejecuto no desde la linea de comandos si no que me cree un script el mismo que hace el envio del mail. Funciona muy bien..
Tambien he trado de programar el script mediante el crontab. Pero aqui surge problemas por que el email no se envia…. alguien sabe si habra que modificar algo mas en el archivo de configuracion ssmtp.conf. Pues cuando ejecuto desde el terminal my script este envia el mail. pero cuando lo mando a ejecutar el script usando el crontab el email no se envia…. ____????? alguna idea… de por que sucede esto……..???
De ante mano muchas gracias… cualquier sugerencia puedes escribirme a mi correo es edisonjavier85@yahoo.com
Me gustaMe gusta
No descartes que pueda deberse a un problema de permisos. Suerte
Me gustaMe gusta
LPM cuando quiero editar me salta esto bash: /etc/ssmtp/ssmtp.conf: Permiso denegado
anda a la mierda … el fucking problema
Me gustaMe gusta
Eso es porque no lo estás haciendo como root (prueba con sudo)
Suerte
Me gustaMe gusta
Hey muchas gracias amigo me sacaste de apuros!! Me funciono perfectamente
Me gustaMe gusta
Gracias pero me dice que le falta la indicacion keyring
Me gustaMe gusta
Necesito más información: dame un toque a través del soporte técnico y vemos qué se puede hacer
Me gustaMe gusta
Hola jasvazquez,
me he reenganchado al ubuntu(hacia tiempo q andaba asfixiado en windows), estoy trabajando con el comando mail.
El servicio ssmtp es equivalente al que da postfix, verdad??
¿El comando mail permite enviar documentos adjuntos? A mi me da error pero en la documentacion parece ser q si envia(tengo los paketes mailutils y mailx instalado)
¿Probaste a enviar emails vacios(sin cuerpo)? mail -s ‘xxx’ A@B.com
Me gustaMe gusta
No recuerdo haber enviado correos sin cuerpo del mensaje pero si que he adjuntado ficheros sin problemas usando el comando mail ¿has buscado en los logs o en lo que te escupe la terminal el posible fallo?
Salu2
Me gustaMe gusta
he probado con varias cuentas de google y el al mandar un adjunto, el correo se recibe pero NO el adjunto:(
Seria util poder enviar un adjunto(log) ¿A ti te funciona con adjuntos?
Este es el error que me devuelve el comando mail al enviar un adjunto:
mail: Invalid header: fichero
Me gustaMe gusta
Dependiendo de la implementación, el parámetro -a (que creo suponer que has usado) se utiliza para attachment y/o append (al header del correo)
Me gustaMe gusta
He encontrado un hueco y lo he probado… se pueden enviar sin problemas correos sin cuerpo.
Respecto a los ajuntos te recomiendo usar mejor mutt, sendmail o mpack.
Me gustaMe gusta
hola como adjunto un archivo al correo
Me gustaMe gusta
Prueba con uuencode fichero | …..
Me gustaMe gusta