Pythonでsmtp
libでメールを送信したいです。私はそれがポート番号25でローカルのSMTPサービスを使用することを理解しています。私はコードを下回っています。これらのコードは問題なく私のローカル上で実行され、メールは正常に送信されます。しかし、それらをDockerコンテナに移動すると、メールは送信されず、エラーはありません。
私のコード:
from_mail = '[email protected]'
to_mail = '[email protected]'
s = smtplib.SMTP('localhost')
subject = 'Test Subject'
content = 'content test'
message = f"""\
Subject: {subject}
To: {to_mail}
From: {from_mail}
{content}"""
result = s.sendmail(from_mail, to_mail, message)
s.quit()
_
これらのコードを実行した後は、result
値として空のdict({})を取得します。 sendmailメソッドの説明にはこれがあります。
...エラーコード550で、4つのアドレスの3つのアドレスへの配信に対してメッセージが承認されました。すべてのアドレスが受け入れられた場合、メソッドは空の辞書を返します。
ネットワーク構成についてですか?ネットワーク設定を設定する必要がありますか?
ホストマシンで動作する場合は、localhost
の代わりにホストIPを使用してみてください。
_s = smtplib.SMTP(Host_IP)
_
またはArthurが推奨されるように、_--net=Host
_を使用してホストネットワークでコンテナを実行してからlocalhost
を使い続けることができます。