¿Crear correos electrónicos de varias partes/alternativos en mutt?

¿Crear correos electrónicos de varias partes/alternativos en mutt?

Me gustaría crear un text/plainmensaje usando el formato Markdown y transformarlo en un multipart/alternativemensaje donde la text/htmlparte se generó a partir de Markdown. Intenté usar el comando de filtro para filtrar esto a través de un programa Python que crea el mensaje, pero parece que el mensaje no se envía correctamente. El código está a continuación (esto es solo un código de prueba para ver si puedo enviar multipart/alternativemensajes).

import sys
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

html = """<html>
          <body>
          This is <i>HTML</i>
          </body>
          </html>
"""

msgbody = sys.stdin.read()

newmsg = MIMEMultipart("alternative")

plain = MIMEText(msgbody, "plain")
plain["Content-Disposition"] = "inline"

html = MIMEText(html, "html")
html["Content-Disposition"] = "inline"

newmsg.attach(plain)
newmsg.attach(html)

print newmsg.as_string()

Desafortunadamente, en mutt, solo recibes el cuerpo del mensaje enviado al comando de filtro cuando redactas (los encabezados no están incluidos). Una vez que haga que esto funcione, creo que la parte de rebajas no será demasiado difícil.

Respuesta1

Me gustaría comentar más sobre la pregunta, pero estoy bloqueado debido a mi reputación.

Intenté crear alternativas de varias partes en mutt en un script contenedor para mi editor como lo sugirió @ n611x007. Creé con éxito un script de Python que aceptaba un correo creado por un editor y luego creé un nuevo mensaje que era una alternativa de varias partes del mismo mensaje.

Sin embargo, mutt interpretó el correo rfc2822 alternativo de varias partes válido y elaborado resultante como algo que solo podía ser un cuerpo simple, y reformuló la multiparte como un componente de texto/mime simple muy difícil de leer.

Por lo tanto, sospecho que generar un mensaje mime de varias partes a través de secuencias de comandos no es realmente posible a través de un enfoque interactivo, aunque ciertamente es posible hacerlo manipulando explícitamente la carga útil mime en la pantalla posterior a la creación donde normalmente se pueden crear archivos adjuntos, etc. Sin embargo, el flujo de trabajo no es lo suficientemente bueno para algo que uno podría hacer con regularidad.

El enfoque alternativo sería generar la alternativa multiparte como parte de la transmisión, como un contenedor para el comando sendmail local o como un script que envuelve la conversación con smtp/s directamente. Algunos ejemplos de este enfoque sonhttps://pypi.python.org/pypi/muttdown/yhttp://chrismdp.com/2013/10/using-markdown-to-send-html-email-via-mutt/

información relacionada