Gmailにメールが送信できない...
2023年8月頃から社内アドレスから、GMailへ送信出来なくなった。
「failure notice」エラーメールが届いた。
※GMailヘルプの「メール送信者のガイドライン」によると、
2024年2月以降、GMailに送信するメールに影響を与えそうである。
※Yahoo!メールの「ドメイン認証技術「DMARC」について」も参照。
どちらのガイドラインでも、「SPF と DMARC」または、「DKIM と DMARC」が必要そうである。
メールを見ると、、、
xxx.xxx.xxx.xxx failed after I sent the message. Remote host said: 550-5.7.26 This mail is unauthenticated, which poses a security risk to the 550-5.7.26 sender and Gmail users, and has been blocked. The sender must 550-5.7.26 authenticate with at least one of SPF or DKIM. For this message, 550-5.7.26 DKIM checks did not pass and SPF check for [メールのドメイン] did 550-5.7.26 not pass with ip: [XX.XX.XX.XX]. The sender should visit 550-5.7.26 https://support.google.com/mail/answer/81126#authentication for 550 5.7.26 instructions on setting up authentication. 〜 - gsmtp
「SPF」または、「DKIM」を設定する必要があると書かれている。
「https://support.google.com/mail/answer/81126#authentication」へ飛ぶと
Google Workspaceの設定など色々書かれていて混乱した。
調べると、
SPF : DNSに、メール送信するサーバの情報を記載。 DKIM : 送信メールに電子署名(秘密鍵で暗号化)を付与、DNSに公開鍵を追加が必要。
なので簡単な方な「SPF」を使ってみた。
DNSの「タイプ : テキスト(TXT)」に、「SPF」の項目を登録する必要あり (DNSの登録権限必要)
DNS設定 | |
エントリ名 | @ |
タイプ | テキスト(TXT) |
データ | "v=spf1 ip4:XX.XX.XX.XX ~all" |
DNSチェック | 不要 |
TTLの指定 | 不要 |
エントリ名の「@」は、サブドメイン使用している場合それを設定。 データのip4:XX.XX.XX.XXは、メールの「not pass with ip: [XX.XX.XX.XX].」の部分のIPを登録する。
蛇足 : SPF登録していても対象で無い物で引っかかる場合は、下記の様な返信が返ってくる。 550-5.7.26 Gmail requires all senders to authenticate with either SPF or DKIM. 550-5.7.26 550-5.7.26 Authentication results: 550-5.7.26 DKIM = did not pass 550-5.7.26 SPF [メールのドメイン] with ip: [XX.XX.XX.X] = did not pass
v=spf1 | SPFの設定であることを記載 |
ip4:[IPアドレス] | 許可するIP設定(例:192.168.1.100) |
ip4:[IPアドレス]/[サブネットマスク] | CIDR記法によるブロック指定(例:192.168.1.0/24) |
省略可、複数記載可能
ip6:[IPアドレス] | 許可するIP設定 |
省略可、複数記載可能
mx | MXレコードで解決 |
省略可
a:[Domain] | 許可するドメインを設定(Aレコード[IPv4]、AAAAレコード[IPv6]) |
省略可、複数記載可能
include:[Domain] | 許可するドメインを設定 |
省略可、複数記載可能
~all | リストにないメールはセキュアでない、もしくはスパムであると表示されるが、受信はすべき |
-all | SPFレコードのリストにないアドレスはメール送信を許可されておらず、拒否すべき |
redirect=[Domein] | 別のサーバへリダイレクトする |
今回は、送信者にエラーメールが届くか抑止など、この設定で色々変更ができる。(DNS設定必要)
DNS設定 | |
エントリ名 | _dmarc |
タイプ | テキスト(TXT) |
データ | "v=DMARC1; p=quarantine; adkim=s; aspf=s;" |
DNSチェック | 不要 |
TTLの指定 | 不要 |
v=DMARC1 | DMARCの設定であることを記載 |
p= | 受信箱に受信する |
p=quarantine | 迷惑メールとして分類する |
p=reject | メール受信をブロックする |
adkim=s | 厳密なチェック(strict) |
adkim=r | 緩い設定(relaxed) |
aspf=s | SPFを対象 |
rua=mailto:[メールアドレス] | DMARCレポートの送信先 |
試してないので分からないが、、、
DNS設定と、各メーラーにて電子署名を付与する。
個人用 Gmail アカウント宛てに送信するには、1,024 ビット以上の DKIM 鍵が必要です。 セキュリティ上の理由から、2,048 ビットの鍵を使用することをおすすめします (ドメイン プロバイダが 2,048 ビットの鍵をサポートしている場合)。
DNS設定 | |
エントリ名 | xxxxxxx._domainkey |
タイプ | テキスト(TXT) |
データ | v=DKIM1; k=[公開鍵の方式(rsaなど)]; t=y; p=[公開鍵]" |
DNSチェック | 不要 |
TTLの指定 | 不要 |
Received-SPF: pass (google.com: domain of XXXX@XXXXX designates XX.XX.XX.XX as permitted sender) client-ip=XX.XX.XX.XX; Authentication-Results: mx.google.com; spf=pass (google.com: domain of XXXX@XXXXX designates XX.XX.XX.XX as permitted sender) smtp.mailfrom=XXXX@XXXXX; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=advancesoft.co.jp
ガイドラインの「簡単に登録解除できるようにする」と言う項目の対応方法
メールのヘッダに、「List-Unsubscribe」項目を追加すると、
メールの配信停止対応となる。
メーリングリストなどの退会を可能にする拡張メールヘッダ。
List-Unsubscribe: <https://XXXX/XXXX>, <mailto:XXXX@XXXX>
List-Unsubscribe-Post: List-Unsubscribe=One-Click