3

私は次のコードを持っています

import smtplib
from email.mime.text import MIMEText



smtpserver = 'smtp.gmail.com'
AUTHREQUIRED = 1 # if you need to use SMTP AUTH set to 1
smtpuser = 'admin@myhost.com'  # for SMTP AUTH, set SMTP username here
smtppass = '123456'  # for SMTP AUTH, set SMTP password here

RECIPIENTS = ['online8@gmail.com']
SENDER = 'admin@myhost.com'

msg = MIMEText('dsdsdsdsds\n')
msg['Subject'] = 'The contents of iii'
msg['From'] = 'admin@myhost.com'
msg['To'] = ''online8@gmail.com''

mailServer = smtplib.SMTP('smtp.gmail.com',587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login(smtpuser, smtppass)
mailServer.sendmail(smtpuser,RECIPIENTS,msg.as_string())
mailServer.close()

このコードは私のデスクトップで正常に機能します。しかし、このエラーで失敗しました

smtplib.SMTPAuthenticationError: (535, '5.7.1 Username and Password not accepted. Learn more at\n5.7.1 http://mail.google.com/support/bin/answer.py?answer=14257 21sm4713429agd.11')

私のLinuxサーバーで。

何がうまくいかなかったのかわからないのですが、Linuxサーバーでポートを開く必要がありますか?

4

2 に答える 2

6

ポート587は明らかに開いている必要がありますが、おそらく開いている必要があります(または、問題の詳細なエラーメッセージを取得していなかったでしょう)。Python2.5と2.6では違いはありません。この問題は、ログインが現在拒否されているコンピューターで一度「キャプチャを解決する」ことに関係していると思います。エラーメッセージのURL、つまりhttp://mail.google.com/support/bin/answer.py?answer=14257の詳細な手順に従ってください

于 2009-09-06T00:27:50.063 に答える
2
import random,time
for i in range(1,100):
    y=random.randint(30,300)
    time.sleep(y)
    print ("Mailing for fun, Mail No: " + str(i))
    msg = MIMEText('Testing mailing \n Mail No:' + str(i))
    msg['Subject'] = 'Mail Number: ' + str(i)

SMTPの動作をチェックするためにメール間隔をランダム化する:)

少し追加して変更を加えることで、断続的なメールのバウンスをチェックするためにこれを機能させることができました。

于 2011-04-15T08:02:04.390 に答える