这是我的VPS主机中的普通代码,它提供了python 2.4
def mail(receiver,Message):
import smtplib
try:
s=smtplib.SMTP()
s.connect("smtp.gmail.com",465)
s.login("email@gmail.com", "password")
s.sendmail("email@gmail.com", receiver, Message)
except Exception,R:
return R
但不幸的是返回此消息! :
SMTP AUTH extension not supported by server.
在我安装了python 2.7的计算机中,我找到了解决方案并且它的工作非常好,这是代码:
def mail(T,M):
import smtplib
try:
s=smtplib.SMTP_SSL()
s.connect("smtp.gmail.com",465)
s.login("xxxxx@gmail.com","your_password")
s.sendmail("xxxxx@gmail.com", T, M)
except Exception,R:
print R
但是在安装了python 2.4的VPS中没有SMTP_SSL()并返回此消息'module' object has no attribute 'SMTP_SSL'
此外,我试图在VPS中升级我的python,但发生的事情是损坏整个python,这意味着python根本不起作用。
答案 0 :(得分:15)
伙计们,谢谢我找到了解决方案,这就是解决方案=)
def mail(receiver,Message):
import smtplib
try:
s=smtplib.SMTP()
s.connect("smtp.gmail.com",465)
s.ehlo()
s.starttls()
s.ehlo()
s.login("email@gmail.com", "password")
s.sendmail("email@gmail.com", receiver, Message)
except Exception,R:
return R
答案 1 :(得分:0)
SMTP.starttls()
可用吗?你也可以这样做:
def mail(receiver,Message):
import smtplib
try:
s=smtplib.SMTP()
s.connect("smtp.gmail.com",587)
s.starttls()
s.login("email@gmail.com", "password")
s.sendmail("email@gmail.com", receiver, Message)
except Exception,R:
return R