Mastodon自鯖からの送信メールが届かない(または迷惑メール判定される)時の対応

昨年Mastodonの自宅鯖を公開し、一部の人にも開放したのですが、登録通知などのMastodonからのメールがGmailに届かない、Gmail以外だと届くが迷惑メール判定されるという問題がありました。
少数サーバーなので、緊急性のある問題ではなかったですが何かと不便なので今回対応し、改善したのでその時の対応を書きます。

結論

はい、しょうもない事だったので先に結論を書きます。
Mastodonの初期設定で送信メールの設定をした際に、何も考えずに構成ファイルをSMTP_FROM_ADDRESS=’Mastodon <notifications@mastodon.demo2.jp>’
にしていました。これはデフォルトで入ってた奴のドメイン部分だけ変えたんだと思います。
しかし、このドメインはMastodonのドメインであって、メールのドメインではありません。
でも送信サーバー情報は正しく設定されていたので、メール自体は送れていたわけです。

これによって何が起きたかというと、送信アドレスはサブドメインのmastodon.demo2.jpなのに、実際にはdemo2.jpから送っているのでメールサーバのDKIM署名がつかず届かなかったというわけです。

修正した点

その他に、迷惑メール判定される点として

  • SPFがない
  • DMARKがない

という点もあったので、最初に書いたDKIM署名の件とあわせて修正していきます。

SPF設定

前回の記事でDNSをCloudflareに変更したので、Cloudflareにレコードを追加します。
元々のサーバーに追加されていたレコードをそのままコピーして追加しました。
その後に以下のコマンドを実行して先ほど追加したものが返ってくればOKです。

dig +short TXT demo2.jp

DKIM設定

結論の項で書いたものが原因だったので、Mastodonの送信メール設定を、実在するメールアドレス(info@demo2.jp)に変更することで、無事署名が付くようになりました。

DMARK設定

ちゃっぴーに聞いたところ、DMARKも入れるといいよと言われたので、言われるがまま下記をDNSレコードに追加しました。

v=DMARC1; p=none; adkim=r; aspf=r

結果

Gmailに無事届くようになりました。
しかし、Outlookではまだ迷惑メールに弾かれてしまいます。これはどうやらレピュテーションの問題のようなので、時間が解決してくれるかと思います。

メールの知識も疎くて、SPF/DKIM/DMARCってなんぞやってところからでしたが、今回の事を経てまたひとつ賢くなった気がします。
普段メールを使うときにこれらを意識する事なんてなかったですからね。
何気なく使っているものもこういった技術に支えられていて、世の中がうまく回っているときにはその存在に気がつかない。失ってはじめてその重要性に気づかされる。人間はいつもそうだな等と考えた祝日の昼下がりでした。

コメント

タイトルとURLをコピーしました