Existen múltiples comandos que nos permiten enviar correos electrónicos utilizando la línea de comandos. La forma tradicional en que esto se ha hecho, normalmente para comprobar si un servidor de correo está funcionando correctamente ha sido estableciendo una conexión mediante telnet y enviando los comandos SMTP en crudo.

telnet

Por otra parte, como hemos mencionado, podemos utilizar comandos y programas específicos de línea de comandos y que sirven para este propósito.

ssmtp

En este caso utilizamos un fichero de texto que contiene los comandos crudos de SMTP que ya utilizamos con telnet, y además el contenido del correo en si.

ssmtp "<destinatario@decorreo.com>" < mail.txt

sendmail

echo "Prueba de correo" | sendmail "<destinatario@decorreo.com>"

Y si usamos el fichero de texto del ejemplo anterior

echo "Prueba de correo" | sendmail -v "<destinatario@decorreo.com>" < mail.txt

curl

curl --url "smtps://smtp.gmail.com:465" --ssl-reqd --mail-from "<remitente@decorreo.com>" --mail-rcpt "<destinatario@decorreo.com>" --upload-file mail.txt --user "<usuariogmail:contraseñagmail>"

swaks

swaks --header "Prueba de correo" --to "<destinatario@decorreo.com>" -s smtp.gmail.com:587 -tls -au "<usuariogmail>" -ap "<contraseñagmail>"
swaks --header "Prueba de correo" --to "<destinatario@decorreo.com>" -s smtp.gmail.com:587 -tls -au "<usuariogmail>" -ap "<contraseñagmail>" --attach -d ./mail.txt

mutt

mutt -s "Prueba de correo" "<destinatario@decorreo.com>" < /dev/null
mutt -s "Prueba de correo" "<destinatario@decorreo.com>" -a mail.txt < /dev/null
mutt -s "Prueba de correo" "<destinatario@decorreo.com>" -a mail.txt < email.html

mailx

mailx -s "Prueba de correo" < /dev/null "<destinatario@decorreo.com>"
echo "Cuerpo del correo" | mailx -s "Prueba de correo" "<destinatario@decorreo.com>"

mail

mail -a "Content-Type: text/html" -s "Prueba de correo" < email.html "<destinatario@decorreo.com>,<destinatario2@decorreo.com>"

openssl

openssl s_client -connect smtp.gmail.com:465 -crlf -ign_eof
EHLO localhost
AUTH PLAIN "passwordhash"
MAIL FROM: <remitente@decorreo.com>
RCPT TO: <destinatario@decorreo.com>
DATA

Subject: Prueba de correo

Cuerpo de correo
.

Un fichero mail.txt puede tener el siguiente contenido:

From: remitente@decorreo.com
To: destinatario@decorreo.com
Subject: Prueba de correo
Content-Type: text/html; charset="utf8"


<html>
<body>
<div style="
	background-color:
	#abcdef; width: 300px;
	height: 300px;
	">
</div>
Aquí se puede añadir contenido de correo.
</body>
</html>

Por supuesto esto son sólo ejemplos y hay que adaptar los parámetros a las necesidades individuales.