Ich verwende die Variablen Empfänger und Subjekt die relativen Werte zu speichern. Ersetzen Sie einfach den Beispieltext zwischen einfachen Anführungszeichen durch Ihren tatsächlichen Wert.
recipient = 'emailaddress'
subject = 'mysubject'
Das Betreff-Feld weiß darf keine Leerzeichen enthalten, so dass sie mit url% 20 ASCII-Code codiert sein
subject = subject.replace(' ', '%20')
die Funktion oben ersetzt den weißen Raum mit „% 20“ und Abtretungs das geänderte Subjekt der gleichen Variablen, da Sie es wiederverwenden können, brauchen Sie in diesem Fall wirklich kein anderes.
Es ist auch möglich, die urllib Modul zur URL-Codierung zu verwenden (urllib.urlencode() Methode sehen), aber es kann einfach die () Verfahren ersetzen Verwendung durchgeführt werden, so dass Sie ein anderes Modul Import vermeiden können nur dafür.
Jetzt müssen Sie den Text aus einer Textdatei laden und in einer Variablen speichern. Imagine haben Sie eine Textdatei body.txt genannt:
with open('body.txt', 'r') as b:
body = b.read()
Bitte beachte, dass ich body.txt angenommen im gleichen Verzeichnis Ihrer Python-Skript ist, sonst im Dateinamen Sie die umfassen müssen vollständiger absoluter oder relativer Pfad zur Datei, gefolgt vom Dateinamen.
Ich benutzte die open() Funktion und biete ich zwei Parameter: die erste ist die Dateiname, die zweite ist die Modus Sie die Datei öffnen möchten. Sie möchten die Datei lesen, sodass Sie sie unter Lesemodus ('r') öffnen müssen. Sobald Sie die Datei geöffnet haben, müssen Sie in der Lage sein, die Datei mit einer Variablen zu identifizieren, um einige Operationen auszuführen. Diese Art von Variable heißt technisch Handle, in diesem Fall nannte ich es b.
nun alle Text zum Lesen können Sie b.read() verwenden und dann können Sie es auf die Variable Körper zuweisen.(Wenn Sie wollte es Zeile für Zeile lesen, würden Sie getan: b.readline() aber Sie dies in diesem Fall nicht wollen.)
Bitte beachte, dass ich die mit Anweisung verwendet wird, diese ist die bevorzugte Methode zum Öffnen und Arbeiten mit Dateien, da die Datei am Ende automatisch geschlossen wird. Andernfalls müssten Sie sie manuell durchführen. Vor mit verfügbar war, würde man so etwas zu tun haben:
b = open('body.txt', 'r'):
body = b.read()
b.close()
Jetzt ist es besser kodieren url auch die in der Variablen Körper enthaltenen String, so tun wir das gleiche, was wir für die tat Thema:
body = body.replace(' ', '%20')
Jetzt ist es Zeit, die WebBrowser Modul zu verwenden und die Daten, die Sie so weit als Parameter bekamen zu liefern, die Strings verketten.
webbrowser.open('mailto:?to=' + recipient + '&subject=' + subject + '&body=' + body, new=1)
Natürlich müssen Sie auch die WebBrowser Modul importieren, bevor es zu benutzen. Ich werde das ganze Programm ohne Kommentare aus Gründen der Klarheit neu zu schreiben:
import webbrowser
recipient = 'emailaddress'
subject = 'mysubject'
with open('body.txt', 'r') as b:
body = b.read()
body = body.replace(' ', '%20')
webbrowser.open('mailto:?to=' + recipient + '&subject=' + subject + '&body=' + body, new=1)
Verwenden String-Verkettung das Argument 'webbrowser.open()' zu erstellen. Was ist das Problem? – Barmar
Warum bedeutet die Anpassung des Empfängers, des Betreffs und des Browsers, dass Sie dies im Webbrowser tun müssen? Das smtp-Paket kann diese Felder ausfüllen. – Barmar
Ich habe es nicht gut formuliert und den Post jetzt bearbeitet. –