メモ > サーバ > 各論: トラブル対応例 > メールを送信しても届かない / 迷惑メールとして処理される 1
■メールを送信しても届かない / 迷惑メールとして処理される 1
※DNS設定と、確認すべき基本事項と、判定ツールについて
その他サーバ設定やプログラムの記述については、「メールを送信しても届かない / 迷惑メールとして処理される 2」以降に記載している
Aレコード、SPFレコード、TXTレコードの設定などを行う
今はさらに DKIM、DMARC も設定するといいとされる
具体的な内容は Network.txt の「メールを送信する際、迷惑メール扱いされないための設定」を参照
プログラムから送信する際に送信元メールアドレス(送信元サーバ)を改変している場合で、突然迷惑メール扱いされることが増えた場合、
そのドメインにSPF・TXTレコードが最近設定された可能性はある
(以前は設定されていなかったが、迷惑メール対策に後から追加されることはある)
以下のようなコマンドで、SPF・TXTレコードが設定されているかどうかは判る
$ dig refirio.net any
そもそも送信元メールアドレスの改変は非推奨だが、
どうしても改変が必要ならドメインの所有者にSPF・TXTレコードを設定してもらう必要がある
■DNSの逆引き設定
AWSの場合、DNSの逆引き申請を行うと解消されることがある
例えば web1.refirio.net (203.0.113.1) と web2.refirio.net (203.0.113.2) の2台構成のサーバがあるとして、
あらかじめDNSで
web1.refirio.net. A 203.0.113.1
web2.refirio.net. A 203.0.113.2
このように設定を行って web1.refirio.net と web2.refirio.net でサーバを参照できるようにしておき、AWSにDNSの逆引き申請を行う
詳細は AWS.txt の「メールの制限緩和」を参照
■メールの本文
本文にURLが記載されたメールを受け取らない設定になっていることもある
キャリアの設定画面で変更できることがある
システムからサンクスメールを送る必要がある場合、
入力された本文は記載せずに送信完了の旨の定型文を送るだけにすることも検討する
■メールアドレスの存在確認
単純にメールの送信先を間違っている可能性がある
精度は不明だが、以下のツールでメールアドレスの存在を確認できる
メールアドレス存在・生存・死活確認ツール
http://address-kakunin.com/
■メールアドレスのRFC違反
「.」(ピリオド)をアドレス内で連続使用したり、アドレスの最後に設定すると、一部のプロバイダとメールを送受信できない場合がある
根本解決は、メールアドレスを変えてもらうしかない
NTTドコモ/auの連続ドット/@前ドットメールアドレスの問題 - The blog of H.Fujimoto
https://www.h-fj.com/blog/archives/2009/03/01-100125.php
特殊な形式のアドレス(RFC違反アドレス)のご利用について | ドコモメール | サービス・機能 | NTTドコモ
https://www.docomo.ne.jp/service/docomo_mail/rfc_add/
長年苦しめられてきた、ドコモメールの駄目な仕様が、iOS14のお陰で予定より早く消えそうで嬉しい! - 人生100年!生涯エンジニア人生!
https://kawahara-ci.hatenablog.com/entry/2020/11/16/email_address_violated_rfc
何かしらのサービスを提供しているなら、以下のような案内を記載しておくといいかもしれない
【重要】ドコモ、auのメールアドレスをご利用のお客様へ | SONOKO オンラインショップ
https://www.sonoko.co.jp/user_data/oshirase10.php
以下にエラーメッセージの表示例がある
メールの送受信ができない!? RFC違反メールアドレスを知っていますか? : ビジネスとIT活用に役立つ情報(株式会社アーティス)
https://www.asobou.co.jp/blog/web/mail-rfc
■不正なドメイン&サブドメインからの送信
from@dev-test.example.com から送信するのは問題無いが、from@dev_test.example.com から送信しても届かないことがある
環境によっては届くこともあるようだが、ドメイン・サブドメイン部分にアンダーバーを含むのはそもそも推奨されない
メール送信に限らず、SSL証明書を発行できないなどのトラブルが発生することもある
ドメイン・サブドメインにアンダーバーを含めないように注意する
ドメイン名に"_"(アンダースコア)を使ってはいけない | 企業組合コンピュータユニオン
https://ccu.or.jp/2019/02/%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E5%90%8D%E3%81%AB%EF%BC%BF%E3%82%A2%E...
ドメインにアンダーバーが使えないって誰が決めたんだ - Qiita
https://qiita.com/daichi_yamazaki/items/d5e3e0b11d11ef987334
ホスト名(ドメイン名)にアンダースコアが使えないってやつ - まぐねっとのブログ
https://magnet88jp.hateblo.jp/entry/2020/12/01/165958
Apache 2.4.25 以降でホスト名のアンダースコアで 400 が出る場合の対処方法 | gotohayato.com
https://gotohayato.com/content/148/
上記の内容をまとめると、以下のようになる
・URIの仕様上、アンダーバーを使うことは問題無い
・ドメイン名にアンダーバーを使うことは推奨されない(禁止ではないみたい)
・ただしレジストラの技術細則で「英字("A"から"Z")、数字("0"から"9")、ハイフン("-")からなる文字列」と定義されていることがある
「.jp」や.「tokyo」では、アンダーバーは認められていない
・余計なトラブルを避けるためにも、「ドメイン&サブドメインではアンダーバーを使わない」とするのが無難
■バウンスメールを解析
Command.txt の同項目を参照
■迷惑メール度の判定
「mail-tester」を使えば、メールアドレスの迷惑メール度を判定できる
サイトにアクセスすると test-ctz0b@mail-tester.com のようなメールアドレスが表示される
表示されたメールアドレスにメールを送信
「THEN CHECK YOUR SCORE」をクリックすると、判定が表示される
もしPHPから送信するメールの迷惑メール度を判定したいなら、そのPHPから mail-tester にメールを送る
Newsletters spam test by mail-tester.com
https://www.mail-tester.com/
迷惑メール度判定サービス「mail-tester」 | SendGridブログ
https://sendgrid.kke.co.jp/blog/?p=5190
あなたのメールアドレスがどれぐらいスパムっぽいか判定してスコア付けする「mail-tester」 - GIGAZINE
https://gigazine.net/news/20151019-mail-tester/
SendGridのブログにて、「mail-tester」より後に「MailGenius」が紹介されている
後発の記事なので、もしかしたらこちらの方がいいかもしれない
迷惑メール度判定サービス 「MailGenius」のご紹介 | SendGridブログ
https://sendgrid.kke.co.jp/blog/?p=14778