Mit python Ich möchte eine E-Mail von meiner App senden, aber es wird der Fehler angezeigt
SMTP AUTH extension not supported by server
Code für das Programm,
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
fromaddr = "[email protected]"
toaddr = "[email protected]"
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = "Test Mail"
body = "Test mail from python"
msg.attach(MIMEText(body, 'plain'))
server = smtplib.SMTP('smtp.example.com', 25)
server.ehlo()
server.starttls()
server.ehlo()
server.login(fromaddr, "password")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
Telnet-Ausgang:
ehlo test1.example.com
250-hidden
250-HELP
250-SIZE 104857600
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-STARTTLS
250 OK
Ich muss mich authentifizieren und E-Mails von der App senden.
vor der Anmeldung und dem Versenden von E-Mails ist eine Verbindung erforderlich.
server = smtplib.SMTP('smtp.example.com', 25)
server.connect("smtp.example.com",465)
server.ehlo()
server.starttls()
server.ehlo()
server.login(fromaddr, "password")
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
server.quit()
Es handelt sich wahrscheinlich nur um den Server, den ich verwendet habe, der jedoch auch nach der Implementierung der akzeptierten Lösung den gleichen Fehler wie das OP aufwies. Es stellte sich heraus, dass der Server keine Anmeldung wünschte. Nach dem Löschen der Zeile server.login(fromaddr, "password")
verschwand der Fehler und es funktionierte.
import smtplib
s = smtlib.SMTP('smtplib.gmail.com',587)
s.ehlo()
s.starttls()
s.login('frmaddr','password')
try:
s.sendmail('fromaddr','toaddr','message')
except:
print (failed)