FrontPage > 技術メモ > MAIL

MAIL (メール)

Gmailにメールが送信できない...

2023年8月頃から社内アドレスから、GMailへ送信出来なくなった。
「failure notice」エラーメールが届いた。

※GMailヘルプの「メール送信者のガイドライン」によると、
 2024年2月以降、GMailに送信するメールに影響を与えそうである。
※Yahoo!メールの「ドメイン認証技術「DMARC」について」も参照。

どちらのガイドラインでも、「SPF と DMARC」または、「DKIM と DMARC」が必要そうである。


SPF(Sender Policy Framework)を設定


メールを見ると、、、

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

v=spf1SPFの設定であることを記載

ip4:

ip4:[IPアドレス]許可するIP設定(例:192.168.1.100)
ip4:[IPアドレス]/[サブネットマスク]CIDR記法によるブロック指定(例:192.168.1.0/24)

省略可、複数記載可能

ip6:

ip6:[IPアドレス]許可するIP設定

省略可、複数記載可能

mx:

mxMXレコードで解決

省略可

a:

a:[Domain]許可するドメインを設定(Aレコード[IPv4]、AAAAレコード[IPv6])

省略可、複数記載可能

include:

include:[Domain]許可するドメインを設定

省略可、複数記載可能

末尾 (~all/-all/redirect=)

~allリストにないメールはセキュアでない、もしくはスパムであると表示されるが、受信はすべき
-allSPFレコードのリストにないアドレスはメール送信を許可されておらず、拒否すべき
redirect=[Domein]別のサーバへリダイレクトする



DMARC(Domain-based Message Authentication Reporting and Conformance)を設定

今回は、送信者にエラーメールが届くか抑止など、この設定で色々変更ができる。(DNS設定必要)

DNS設定
エントリ名_dmarc
タイプテキスト(TXT)
データ"v=DMARC1; p=quarantine; adkim=s; aspf=s;"
DNSチェック不要
TTLの指定不要

v=DMARC1

v=DMARC1DMARCの設定であることを記載

p=xxxx

p=受信箱に受信する
p=quarantine迷惑メールとして分類する
p=rejectメール受信をブロックする

adkim=

adkim=s厳密なチェック(strict)
adkim=r緩い設定(relaxed)

adkim=

aspf=sSPFを対象

rua= (省略可)

rua=mailto:[メールアドレス]DMARCレポートの送信先



DKIM (Domain Keys Identified Mail)

試してないので分からないが、、、
DNS設定と、各メーラーにて電子署名を付与する。

個人用 Gmail アカウント宛てに送信するには、1,024 ビット以上の DKIM 鍵が必要です。
セキュリティ上の理由から、2,048 ビットの鍵を使用することをおすすめします
(ドメイン プロバイダが 2,048 ビットの鍵をサポートしている場合)。


DNS設定
エントリ名xxxxxxx._domainkey
タイプテキスト(TXT)
データv=DKIM1; k=[公開鍵の方式(rsaなど)]; t=y; p=[公開鍵]"
DNSチェック不要
TTLの指定不要

G-Mailで確認 (SPF + DMARC)

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

G-Mailで確認 (DKIM + DMARC)



配信停止のワンクリック (List-Unsubscribe)

ガイドラインの「簡単に登録解除できるようにする」と言う項目の対応方法
メールのヘッダに、「List-Unsubscribe」項目を追加すると、
メールの配信停止対応となる。
メーリングリストなどの退会を可能にする拡張メールヘッダ。

List-Unsubscribe

List-Unsubscribe: <https://XXXX/XXXX>, <mailto:XXXX@XXXX>

List-Unsubscribe-Post


添付ファイル: filemail2.png 23件 [詳細] filemail3.png 27件 [詳細] filemail1.png 46件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-01-26 (金) 15:48:57