ssmtp
es solo uno de los muchos envoltorios de Sendmail. Todos estos aceptan un mensaje en la entrada estándar y, opcionalmente, una lista de direcciones como argumentos de línea de comandos, y todos ofrecen un nombre binario sendmail
que implementa (al menos las características básicas de) la API tradicional de línea de comandos Sendmail. Pero hablando correctamente, ese mensaje debe ser un mensaje RFC822 bien formado. Como mínimo, debe tener un Subject:
encabezado.
ssmtp address@example.com <<<$'Subject: testing 1...2...3'
(Con ssmtp
, sendmail
es solo un enlace simbólico a ssmtp
. Postfix, Exim, y creo que cualquier otro MTA que Provides: mail-transport-agent
tenga una disposición similar, excepto, por supuesto, sendmail
donde el sendmail
binario es "lo real").
Más comúnmente, puede armar un mensaje de correo electrónico simple con un documento aquí.
/usr/lib/sendmail -oi -t <<____HERE
Subject: testing
To: recipient@example.net
Here we interpolate the shell variable $result
____HERE
(La -t
opción Sendmail dice que tome la lista de destinatarios de los encabezados del mensaje que recibe en la entrada estándar. La ruta precisa a Sendmail diferirá entre las plataformas).
Otra variación común es combinar la salida de algunos comandos. Tenga cuidado de tener una línea vacía (un "cuello") entre los encabezados y el cuerpo del mensaje.
( printf "Subject: random number\n\n"
dd if=/dev/urandom bs=4 count=1 2>/dev/null | od -D -An ) |
sendmail elsewhere@example.org
Para cualquier cosa más allá de los mensajes de texto ASCII muy simples, debe comprender cómo redactar un mensaje MIME adecuado, momento en el que generalmente tiene más sentido usar una herramienta como mutt
. Algunas plataformas tienen un mail
o mailx
que sabe cómo enviar archivos adjuntos y texto que no es ASCII, pero esto no es totalmente portátil.
El desafío aquí no es encontrar un cliente que pueda tomar un mensaje de correo electrónico e intentar enviarlo, es configurarlo para los detalles específicos de Gmail, lo que requiere que el MTA conozca el nombre de usuario y la contraseña para usar en el servidor remoto. para poder usarlo como el smarthost saliente.
Detrás de escena, a la mayoría de los clientes les gusta mutt
, mailx
etc., normalmente solo se ejecutan sendmail
detrás de escena para sacar el mensaje del sistema.