web-dev-qa-db-ja.com

python 2.4のサーバーではSMTPAUTH拡張機能はサポートされていません

これは、python 2.4を提供するVPSホスティングの通常のコードです。

def mail(receiver,Message):
    import smtplib
    try:
        s=smtplib.SMTP()
        s.connect("smtp.gmail.com",465)
        s.login("[email protected]", "password")
        s.sendmail("[email protected]", 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("[email protected]","your_password")
        s.sendmail("[email protected]", T, M)
    except Exception,R:
            print R

しかし、インストールしたVPSではpython 2.4にはSMTP_SSL()がなく、このメッセージを返します'module' object has no attribute 'SMTP_SSL'

また、VPSでpythonをアップグレードしようとしましたが、全体にダメージを与えるpythonつまり、python notまったく機能します。

13
Hamoudaq

みんなありがとう私は解決策を見つけましたそしてこれが解決策です=)

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 protected]", "password")
        s.sendmail("[email protected]", receiver, Message)
    except Exception,R:
            return R
15
Hamoudaq

SMTP.starttls()は利用できますか?たとえば、次のこともできます。

def mail(receiver,Message):
    import smtplib
    try:
        s=smtplib.SMTP()
        s.connect("smtp.gmail.com",587)
        s.starttls()
        s.login("[email protected]", "password")
        s.sendmail("[email protected]", receiver, Message)
    except Exception,R:
            return R
0
ldx