Friday, 3 February 2017

Cant send email via python using gmail - smtplib.SMTPException: SMTP AUTH extension not supported by server

I just want to send an email in python with an attachment




import smtplib, os
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
from email import Encoders

def send_mail(send_from, send_to, subject, text, files=[], server="localhost"):
assert type(send_to)==list
assert type(files)==list


msg = MIMEMultipart()
msg['From'] = send_from
msg['To'] = COMMASPACE.join(send_to)
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = subject

msg.attach( MIMEText(text) )

for f in files:

part = MIMEBase('application', "octet-stream")
part.set_payload( open(f,"rb").read() )
Encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="%s"' % os.path.basename(f))
msg.attach(part)

smtp = smtplib.SMTP('smtp.gmail.com:587')
smtp.login('fu@gmail.com','fu')
smtp.sendmail(send_from, send_to, msg.as_string())
smtp.close()


ATTACHMENTS = ['/tmp/2013-11-04-test.csv']
send_from=['fu@gmail.com']
send_to=['fu@gmail.com']
subject='adfadfadf'
text = 'adfadfadf'
send_mail(send_from, send_to, subject, text, files=ATTACHMENTS)


How do I auth? I have to provide a username and password. How?




Traceback (most recent call last):
File "/home/ubuntu/workspace/miliza-devops/classes/utilities.py", line 133, in
send_mail(send_from, send_to, subject, text, files=ATTACHMENTS)
File "/home/ubuntu/workspace/miliza-devops/classes/utilities.py", line 124, in send_mail
smtp.login('fu@gmail.com','fu')
File "/usr/lib/python2.7/smtplib.py", line 576, in login
raise SMTPException("SMTP AUTH extension not supported by server.")
smtplib.SMTPException: SMTP AUTH extension not supported by server.

No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...