Jedes Mal, wenn ich eine E-Mail mit dieser Funktion sende, fügt sie den Betreff und die Nachricht nicht den richtigen Feldern hinzu, sondern fügt sie stattdessen dem Absender hinzu: ' oder so. Here's the image of it. Irgendeine Idee, wie das behoben werden kann? Danke für die AntwortPython Smptlib E-Mail (Falscher Betreff und Nachrichtenfeld)
import smtplib
## NON-ANONYMOUS EMAIL
def email():
# Parts of an email
SERVER = 'smtp.gmail.com'
PORT = 587
USER = '[email protected]'
PASS = 'something'
FROM = USER
TO = ['[email protected]']
#SUBJECT = 'Test'
MESSAGE = 'Test message.'
# Connects all parts of email together
message = "From: %s\r\n To: %s\r\n %s" % (FROM, ", ".join(TO), MESSAGE)
# Sends an email
email = smtplib.SMTP()
email.connect(SERVER,PORT)
email.starttls()
email.login(USER,PASS)
email.sendmail(FROM, TO, message)
email.quit()
email()
können Sie mir zeigen, ein Beispiel dafür, welche Daten in die 'TO' vari geben wird bitte? Zeigen Sie mir zum Beispiel, welcher Code diese 'email' Funktion aufruft. –
Ja. Ich habe sie bereits hinzugefügt. Danke für die Antwort – Kesi
Eigentlich scheint es kein Problem mit '.join' zu sein, wie ich zuerst dachte. Anstatt die "Nachricht" über mehrere Zeilen hinweg zu definieren, ändern Sie sie wie folgt: '" Von:% s \ r \ n Nach:% s \ r \ n Betreff:% s \ r \ n% s " % (FROM, "," .join (TO), SUBJECT, MESSAGE) '. Es ist möglich, dass \ n (newline) nicht dazu führt, dass sendmail die verschiedenen Teile der Nachricht erkennt. Ich habe bemerkt, dass 'send_message' \ r \ n als E-Mail-Trennzeichen verwendet, während' .join (TO) '\ n erzeugt, wenn ich mich nicht irre. –