¿Cuál es el formato para enviar un mensaje a sendmail?

¿Cuál es el formato para enviar un mensaje a sendmail?

Estoy usando el siguiente comando para crear mensajes sobre la marcha y enviarlos:

echo "Subject:Hello \n\n I would like to buy a hamburger\n" | sendmail [email protected]

Parece que cuando envías la información desde un archivo, haciendo algo como:

sendmail [email protected] mail.txt 

Luego sendmail ve cada línea como un encabezado y la analiza. Pero tal como lo envié arriba, todo termina en la línea de asunto.

Si uno quiere enviar un mensaje completo con encabezados a sendmail, ¿cuál es el formato? ¿Cómo se hace?

Respuesta1

Su echodeclaración realmente debería generar nuevas líneas, no la secuencia \seguida por n. Puede hacerlo proporcionando la -eopción:

echo -e "Subject:Hello \n\n I would like to buy a hamburger\n" | sendmail [email protected]

Para comprender cuál es la diferencia, observe el resultado de los dos comandos siguientes:

echo "Subject:Hello \n\n I would like to buy a hamburger\n"
echo -e "Subject:Hello \n\n I would like to buy a hamburger\n"

Respuesta2

"Aquí documento" en scripts de shell (usted redacta los encabezados y el cuerpo del mensaje)

#!/bin/sh
[email protected]
/usr/sbin/sendmail -i $TO <<MAIL_END
Subject: Hello
To: $TO

I would like to buy a hamburger
MAIL_END

Cuerpo del mensaje de un archivo externo

#!/bin/sh
[email protected]
BODY_FILE=mail.txt
(cat - $BODY_FILE)<<HEADERS_END | /usr/sbin/sendmail -i $TO
Subject: Hello
To: $TO

HEADERS_END

información relacionada