2011-01-04 6 views
1

Ich versuche, eine E-Mail mit Python, die den Standard To From, Körper usw. hat. Dies ist jedoch, wo meine Frage kommt. Mein Python-Skript nimmt Informationen in einer Zeichenfolge und manipuliere es (addiere, entferne, formatiere, etc) Ich versuche diese Ausgabe zu nehmen und sie als Anhang zu senden. Ich weiß, dass ich die Ausgabe in eine Textdatei ausgeben und dann an die E-Mail anhängen kann. Aufgrund der Sicherheit dieses CGI-Skripts kann ich jedoch nicht in das CGI-Verzeichnis schreiben. Gibt es eine Möglichkeit, ein Textdateiobjekt dynamisch zu erstellen und als Anhang zu senden?Python CGI E-Mail dynamische Ausgabe als eine Textdateianlage

Verwenden von Python SMTP-Modul.

Ich kann eine traditionelle statische Textdatei aufgrund von Berechtigungen nicht erstellen. Ich würde gerne sehen, ob Python in der Lage ist, eine Textdatei bei der Ausführung zu erstellen, die ich mit Daten füllen und dann an das E-Mail-SMTP-Modul anhängen kann.

+0

Was verwenden Sie, um die Mail zu senden? Pythons SMTP-Modul? – nmichaels

+0

Ja Python SMTP-Modul – Jim

Antwort

0

Verwenden Sie die Module smtplib und email.mime.multipart? Die attach() - Methode der MIMEMultipart-Klasse akzeptiert einen Teil der anzuhängenden Daten, keine Datei.

+0

Hmm, haben Sie Beispiele? – Jim

+0

Dies scheint die Richtung zu sein, in die ich gehen möchte. Ich sehe, dass ich aufgrund von Berechtigungen keine statische Datei anhängen kann. Gibt es eine Möglichkeit, dass Python bei der Ausführung ein Textdatei- "Objekt" erstellen kann, das an die E-Mail angehängt ist? – Jim

1

Das letzte Beispiel auf this page zeigt, wie die Erstellung und mehrteilige MIME-Nachricht zu senden, den Text und HTML-Teile mit der smtplib und email Module enthält. Es sollte leicht an Ihre Bedürfnisse angepasst werden können, um eine Nachricht als Anhang zu senden (idealerweise sollte der Anhang einen Inhaltstyp von message/rfc822 haben).