Python3でBounce(不達・失敗)したメール アドレスを取得する

広告

曲者のBounce メール

サービスによって自社のメールサーバーを運用することもあるかと思います。
そのときに一番問題になるのがBounceメールの管理です。
Bounceメールとは、アドレスが存在しない、通信キャリアによってスパムメールとして分類されている、
などと言った理由で一時的に相手に届かなかったメールのことです。

こちら側が悪くなくても携帯会社によっては
キャリア以外のメールは受信しないなどの設定ができたりで
どうしてもBounceメールが発生してしまいます。

このメールが厄介で、Bounceしたメールアドレスに
送り続けてしまうとスパムメールとして判定されてしまいます。
そうするとドメイン自体が悪いものと見なされるわ、使いづらいわで
サービスの運用に多大な影響を及ぼします。

こりゃいかん!!

sendgridなどのサービスを利用すればBounceしたメールへの
送信を止めてくれますが、自社運用のメールサーバーではそうはいきません。

Python 3 の標準ライブラリである mail を使用することで
送信失敗して返ってくるMailDaemonなどの情報を取得できます。

そのスクリプトを利用して
Bounceメールアドレスを一覧で取得するDockeriMageを作成しました。

パラメーターとrunコマンドを実行することでラクラク取得できます。
また、volumeマウントしておくことで過去一度取得したデータは
データベースに保存するので再度取得する心配はありません。

使用するDockerImage

Docker hubに公開してあるのでDockerを入れている環境では問題なく動くはずです。

下記の環境変数を指定するだけで./out/mail_list.txtというファイルに出力します。

・メールサーバー
・ユーザー名
・パスワード
・対象とするメールアドレス(MAIL-DAEMONなどをカンマ区切りで)

(例)


もしくはpullしてrunです。

Dockerってこういう時に使うのが一番適していると思う。
途中でデータ消えてもまあ大丈夫だし、cronで定期実行できるし
環境汚さない(?)で環境構築できるし。

なにか問題があったら気兼ねなくコメントしてください(´・ω・`)



じゃあね〜〜〜〜。