Cant send email via python using gmail - smtplib.SMTPException: SMTP AUTH extension not supported by server
32,436
Solution 1
You need a call to starttls()
before you login:
smtp = smtplib.SMTP('smtp.gmail.com:587')
smtp.starttls()
smtp.login('[email protected]', 'fu')
Also, your send_from
should be a str
, not a list
:
send_from='[email protected]'
Note that smtp.starttls()
calls smtp.ehlo()
implicitly:
If there has been no previous EHLO or HELO command this session, this method tries ESMTP EHLO first. https://docs.python.org/2/library/smtplib.html#smtplib.SMTP.starttls
Solution 2
On gmail you also have to give a smtp.ehlo()
before smtp.starttls()
This is also duplicate of How to send an email with Gmail as provider using Python?
Author by
Tampa
Updated on July 18, 2022Comments
-
Tampa almost 2 years
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('[email protected]','fu') smtp.sendmail(send_from, send_to, msg.as_string()) smtp.close() ATTACHMENTS = ['/tmp/2013-11-04-test.csv'] send_from=['[email protected]'] send_to=['[email protected]'] 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 <module> 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('[email protected]','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.