0

これはここで何度も取り上げられていることを知っています。すべての質問を読みましたが、まだ機能しません。

Pythonスクリプトからメールを送信しようとしています:

msg= MIMEText('MESSAGE_TEXT')
msg['Subject']= 'SUBJECT'
msg['From']= 'from@example.com'
msg['To']= 'to@example.com'
s= smtplib.SMTP(host='localhost', port=1025)
s.sendmail('from@example.com', ['to@example.com'], msg.as_string())
s.quit()

これを行うことで、ローカルのpython SMTPサーバーを実行しています:

python -m smtpd -n -c DebuggingServer localhost:1025

スクリプトを実行すると、SMTP サーバーで次のようになります。

---------- MESSAGE FOLLOWS ----------
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Subject: SUBJECT
From: from@example.com
To: to@example.com
X-Peer: 127.0.0.1

MESSAGE_TEXT

------------ END MESSAGE ------------

サーバーは動作しているようですが、メールは受信されません (迷惑メール フォルダも確認しました) gmail の SMTP サーバーを使用できることはわかっていますが、実際には使用したくありません。ここで何がうまくいかないのでしょうか?

4

1 に答える 1

1

サーバーがどのように応答するかわからない場合は注意が必要です。

SMTPサーバーに接続し、telnetを使用して手動で電子メールを送信することをお勧めします。Pythonを使用しているので、*NIXシステムだと思います。しかし、telnet(例で使用)はそこでもうまく機能します(またはnetcat)。

このようにして、メッセージを手に入れることができ、これ以上推測する必要はありません。

于 2012-10-13T16:46:23.307 に答える