Расширение SMTP AUTH не поддерживается сервером в Python 2.4 - PullRequest
13 голосов
/ 09 февраля 2012

Это мой обычный код на моем 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

Но в VPS, который установил python2.4 не имеет SMTP_SSL () и возвращает это сообщение 'module' object has no attribute 'SMTP_SSL'

Также я пытался обновить мой питон в VPS, но произошло то, что повредил весь питон, что означает, что питон вообще не работает.

Ответы [ 2 ]

15 голосов
/ 10 февраля 2012

Ребята, спасибо, я нашел решение, и это решение =)

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
0 голосов
/ 10 февраля 2012

Есть ли 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
...