问题
This is my normal code in my VPS hosting which provide 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
but unfortunately return this message! :
SMTP AUTH extension not supported by server.
in my computer which i've install python 2.7 i found the solution and it's work very good here is this code :
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
But in the VPS which installed python 2.4 doesn't have SMTP_SSL() and return this message 'module' object has no attribute 'SMTP_SSL'
Also i've tried to upgrade my python in VPS but what happened is Damage the whole python that mean python not work at all.
回答1:
Guys thanks i've found the solution and this is the solution =)
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
回答2:
Is SMTP.starttls()
available? You can also do e.g.:
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
来源:https://stackoverflow.com/questions/9216127/smtp-auth-extension-not-supported-by-server-in-python-2-4