E-Mails in Python senden - Hat Google etwas an Google Mail geändert?
Ich habe grundlegende Dienstprogramme, die ich immer zum Senden von E-Mails verwendet habe.
Ich verwende Google Mail, um Benachrichtigungen, Benachrichtigungen usw. zu senden.
Jetzt brechen sie ALLE mit diesem Fehler und ich frage mich, ob es an Google liegt.
Traceback (most recent call last):
File "/home/ubuntu/workspace/includes/utility.py", line 44, in <module>
sendMail('cctest',parms,body='ok - no cc')
File "/home/ubuntu/workspace/includes/utility.py", line 38, in sendMail
server.sendmail(fromaddr, toaddrs, message)
File "/usr/lib/python2.7/smtplib.py", line 700, in sendmail
self.rset()
File "/usr/lib/python2.7/smtplib.py", line 441, in rset
return self.docmd("rset")
File "/usr/lib/python2.7/smtplib.py", line 366, in docmd
return self.getreply()
File "/usr/lib/python2.7/smtplib.py", line 343, in getreply
raise SMTPServerDisconnected("Connection unexpectedly closed")
smtplib.SMTPServerDisconnected: Connection unexpectedly closed
Unten ist ein Beispielcode, den ich normalerweise verwende. Ich kann mich nicht einmal an das letzte Mal erinnern, als ich den Code geändert habe.
def sendMail(subject,parms,body=None,cc=None):
import smtplib
import email.utils
from email.mime.text import MIMEText
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email import Encoders
toaddr = parms['email_to']
fromaddr = parms['email_from']
message_subject = subject
message_text = body
if cc:
message = "From: %s\r\n" % fromaddr + "To: %s\r\n" % toaddr + "CC: %s\r\n" % ",".join(cc) + "Subject: %s\r\n" % message_subject + "\r\n" + message_text
toaddrs = [toaddr] + cc #+ bcc
else:
message = "From: %s\r\n" % fromaddr + "To: %s\r\n" % toaddr + "Subject: %s\r\n" % message_subject + "\r\n" + message_text
toaddrs = [toaddr]
server = smtplib.SMTP('smtp.gmail.com',587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(fromaddr,parms['email_password'])
server.sendmail(fromaddr, toaddrs, message)
server.quit()
print "Email sent..."