30

Python でメールを送信する際に小さな問題があります。

#me == my email address
#you == recipient's email address
me = "some.email@gmail.com"
you = "some_email2@gmail.com"

# Create message container - the correct MIME type is multipart/alternative.
msg = MIMEMultipart('alternative')
msg['Subject'] = "Alert"
msg['From'] = me
msg['To'] = you

# Create the body of the message (a plain-text and an HTML version).
html = '<html><body><p>Hi, I have the following alerts for you!</p></body></html>'

# Record the MIME types of both parts - text/plain and text/html.
part2 = MIMEText(html, 'html')

# Attach parts into message container.
# According to RFC 2046, the last part of a multipart message, in this case
# the HTML message, is best and preferred.
msg.attach(part2)

# Send the message via local SMTP server.
s = smtplib.SMTP('aspmx.l.google.com')
# sendmail function takes 3 arguments: sender's address, recipient's address
# and message to send - here it is sent as one string.
s.sendmail(me, you, msg.as_string())
s.quit()

そのため、これまではプログラムでエラーが発生することはありませんでしたが、メールも送信されませんでした。そして今、pythonは私にエラーを与えます:

SMTPServerDisconnected: Connection unexpectedly closed

どうすればこれを修正できますか?

4

6 に答える 6

1

私は奇妙な行動に気づきました。質問と回答の両方で言及されている同様のコードを使用しました。私のコードはここ数日間機能しています。しかし、今日、質問に記載されているエラー メッセージが表示されました。

私の解決策:図書館ネットワークを介して成功した試みを試みました。今日、スターバックス ネットワーク経由で試してみました (キャプティブ ポータル経由)。モバイルネットワークに変更しました。それは再び働き始めました。

おそらく、Google は信頼できないネットワークからのリクエストを拒否します。

于 2017-12-27T17:29:56.387 に答える