2013-02-02 7 views
5

Ich möchte eine Nachricht erstellen text/plain mit Markdown-Formatierung und in eine multipart/alternative Nachricht, wo der text/html Teil wurde aus der Markdown generiert. Ich habe versucht, den Filter-Befehl zu verwenden, um dies durch ein Python-Programm zu filtern, das die Nachricht erstellt, aber es scheint, dass die Nachricht nicht ordnungsgemäß gesendet wird. Der folgende Code ist (dies ist nur Test-Code, um zu sehen, ob ich multipart/alternative Nachrichten an alleVerwenden von Python in Mutt zum Erstellen Multipart/Alternative Mails

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() 

Leider gibt es in mutt machen., Sie nur den Nachrichtentext an den Filter-Befehl gesendet, wenn Sie (die Header komponieren Wenn ich das funktioniere, denke ich, dass der Markdown-Teil nicht zu schwer sein wird.

Antwort

1

Update: Jemand schrieb einen Artikel über die Konfiguration von Mutt für die Verwendung mit einem Python-Skript. Ich habe selbst nie getan es hashcash and mutt, der Artikel geht durch die Konfiguration von muttrc und geben Sie Codebeispiel


Alte Antwort

Ist es Ihr Problem lösen?

#!/usr/bin/env python 

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


# create the message 
msg = MIMEMultipart('alternative') 
msg['Subject'] = "My subject" 
msg['From'] = "[email protected]" 
msg['To'] = "[email protected]" 

# Text of the message 
html = """<html> 
      <body> 
      This is <i>HTML</i> 
      </body> 
      </html> 
""" 
text="This is HTML" 

# Create the two parts 
plain = MIMEText(text, 'plain') 
html = MIMEText(html, 'html') 

# Let's add them 
msg.attach(plain) 
msg.attach(html) 

print msg.as_string() 

Wir speichern und testen das Programm.

python test-email.py 

Welche gibt:

Content-Type: multipart/alternative; 
boundary="===============1440898741276032793==" 
MIME-Version: 1.0 
Subject: My subject 
From: [email protected] 
To: [email protected] 

--===============1440898741276032793== 
Content-Type: text/plain; charset="us-ascii" 
MIME-Version: 1.0 
Content-Transfer-Encoding: 7bit 

This is HTML 
--===============1440898741276032793== 
Content-Type: text/html; charset="us-ascii" 
MIME-Version: 1.0 
Content-Transfer-Encoding: 7bit 

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

--===============1440898741276032793==-- 
+0

ich das Programm zu laufen zu bekommen, aber ich denke, mein Problem, dass mutt ist nicht Filterung einer Nachricht erlauben, mit Header während compose. Ich denke, dies zu tun, wird einen Wechsel zum Köter erfordern. –

+0

so ist es kein Python-Problem. Ich bin verwirrt. – karlcow

+0

Ich nehme an, die Frage sollte sein "Wie kann ich dieses Skript in Mutt ausführen, so dass eine" multipart/alternative "Nachricht produziert wird"? –