Envío de HTML usando mailx con postfix 2.6.6 y centOS 6.4

Envío de HTML usando mailx con postfix 2.6.6 y centOS 6.4

Estoy intentando enviar un correo electrónico HTML desde nuestro servidor CentOS a los usuarios. A largo plazo, crearé un programa COBOL que ejecute el comando para enviar informes al usuario.

Aquí hay algunos detalles.

  • CentOS 6.4
  • MAU: Mailx
  • MTA: Postfix 2.6.6
  • Postfix está ejecutando una retransmisión a través de un servidor Exchange.

En cuanto a los comandos que intenté ejecutar. El que más he visto hoy ha sido el siguiente.

$ mailx -a 'Content-Type: text/html' -s "Command Line Test" [email protected] < ./bodytext.html

Después de ejecutar el comando mostrado, aparece un error que dice "Tipo de contenido: texto/html: No existe tal archivo o directorio". Estoy bastante seguro de que después de cierta actualización dejaron de permitir -a como indicador para la designación de tipo de contenido.

También intenté agregar el 'Tipo de contenido: texto/html' al archivo bodytext.html real como la primera línea. No sé qué puedo hacer para enviar el correo electrónico HTML. Algunas de las fuentes que encontré dicen que mailx y postfix no pueden enviar correos electrónicos HTML correctamente. Con suerte, ese no es el caso, pero si lo es, me gustaría saber cuál es su opinión sobre otras tecnologías MAU y MTA.

Respuesta1

Dado que parece tener control total sobre el archivo de texto generado, la forma más sencilla y probablemente más portátil sería involucrarlo /usr/sbin/sendmaildirectamente.

/usr/sbin/sendmail -t < complete-mail.txt

Esto requeriría que usted mismo agregue todos los encabezados importantes ( From, To, Subjecty Content-Type). El archivo debería verse así:

From: Company <[email protected]>
To: Customer <[email protected]>
Subject: You are awesome
Content-Type: text/html

<html>…</html>

Postfix agregará encabezados faltantes pero necesarios como Date.

Respuesta2

¿Leíste siquiera el manual demailx, especialmente la -aopción?

-a file Adjunte el archivo proporcionado al mensaje.

Derespuesta de giles, ya que CentOS está usando esta versión de mailx:

Con la reliquiacorreo, no hay una manera conveniente. Una posibilidad para insertar encabezados arbitrarios es configurar editheaders=1 y usar un editor externo (que puede ser un script).

## Prepare a temporary script that will serve as an editor.
## This script will be passed to ed.
temp_script=$(mktemp)
cat <<'EOF' >>"$temp_script"
1a
Content-Type: text/html
.
$r test.html
w
q
EOF
## Call mailx, and tell it to invoke the editor script
EDITOR="ed -s $temp_script" heirloom-mailx -S editheaders=1 -s "Subject" to@address <<EOF
~e
.
EOF
rm -f "$temp_script"

Postfix ciertamente puede enviar correos HTML.

información relacionada