Estoy usando el paquete ssmtp para enviar correos electrónicos vía g-mail. Todo funciona bien; lo único extraño es que si envío correo a través de la línea de comando, el "campo de destino" es extraño.
ssmtp [email protected] < message.txt
Básicamente, el campo "para" simplemente dirá "destinatarios no divulgados".
Leí que puedes configurar encabezados que contengan un campo "Para:", pero eso parece demasiado complicado cuando he usado el mail
comando en otros sistemas, lo hará automáticamente.
¿Existe una manera más sencilla de enviar correo a través de la línea de comando ssmtp
, pero sin tener que cambiar la sintaxis anterior o especificar parámetros adicionales? (posiblemente un archivo de configuración para establecer la dirección "a" como cualquiera que se haya especificado.
Respuesta1
Esta situación surge de una mala comprensión de lo que ssmtp
se está haciendo. Hay una diferencia muy importante entre el mensajesobre(que utilizan los servidores de correo para enrutar el correo) y el mensajecuerpo(que se muestra en su cliente de correo electrónico). Ambos pueden tener To
y From
y pueden ser diferentes entre sí. Esto es¡bueno!
ssmtp
simplemente crea el sobre y facilita la transferencia del mensaje al MTA. Espera que el cuerpo al que se lo pases esté completamente formado ycontener todos los encabezados del cuerpo. No agregará ninguno por usted* (aunque insertará encabezados de manejo de mensajes, por ejemplo, Received-by
, et al.). Estoy seguro de que también habrás notado que tampoco hay ningún mensaje Subject:
en esos mensajes.
Entonces, la respuesta a su pregunta es que el To:
campo debe incluirse en message.txt
.
Para que aparezcan los campos To:
y Subject:
, debe formatear message.txt
así:
To: [email protected]
Subject: Message for you
Message text starts here.
blah blah blah.
*Eso no es exactamente cierto. Dado que un From:
encabezado es el único encabezado requerido, se derivará uno del sobre y se insertará si falta.