python 2.4中的服务器不支持SMTP身份验证扩展
这是我的VPS主机中的普通代码,它提供了python 2.4python 2.4中的服务器不支持SMTP身份验证扩展,python,linux,smtp,vps,python-2.4,Python,Linux,Smtp,Vps,Python 2.4,这是我的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, Mes
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身份验证扩展。
在我安装了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”对象没有属性“SMTP_SSL”
我还尝试在VPS中升级我的python,但结果是破坏了整个python,这意味着python根本无法工作。是否有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
伙计们,谢谢我找到了解决方案,这就是解决方案=)
确切结果^ ^
服务器不支持SMTP身份验证扩展
您不能在连接之前运行ehlo
或starttls
。除了没有任何意义之外,它还会引发一个异常(SMTPServerDisconnected
)。您不需要进行第一次s.ehlo()调用。s、 starttls()将为您调用它。我在2.7中证实了这一点,2.4文档听起来在该版本中的行为是相同的。可能值得明确指出的是,似乎是双ehlo()使这一功能得以实现。。
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