我正在尝试用python编写一个电子邮件脚本。以下是我所拥有的(来自pythonlibrary.org):
#! /usr/bin/env python
import smtplib
import string
SUBJECT = "An email!"
TO = "me@icloud.com"
FROM = "me@gmail.com"
text = "This text is the contents of an email!"
BODY = string.join((
"From: %s" % FROM,
"To: %s" % TO,
"Subject: %s" % SUBJECT ,
"",
text
), "\r\n")
server = smtplib.SMTP('smtp.gmail.com')
server.login('me@gmail.com', 'mypassword') # Not very secure, I know, but this email is dedicated to this script
server.sendmail(FROM, [TO], BODY)
server.quit()
我得到smtplib.SMTPException: SMTP AUTH extension not supported by server.
这是真的吗,那么smtp.gmail.com为什么要响应呢?这是Gmail的问题,还是我的脚本,或者别的什么?
错误消息:
Traceback (most recent call last):
File "/Users/student/Desktop/mail.py", line 18, in <module>
server.login('*******@gmail.com', '**************')
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/smtplib.py", line 552, in login
smtplib.SMTPException: SMTP AUTH extension not supported by server.
以下是如何在Python中使用gmail发送电子邮件:
我发现在通过gmail发送邮件之前,我必须做一个ehlo()和一个starttls():
它不应该影响登录,但我在正文中使用email.mime.multipart中的MIMEMultipart,类似于:
您需要联系提交端口(587)上的gmail邮件服务器,而不是默认的25:
您还需要在登录之前使用
server.starttls()
(这样您的密码就不会在clear中发送!)。这是我的剧本,对我有用:相关问题 更多 >
编程相关推荐