DKIM認証とは

DKIM(Domain Keys Identified Mail)とは、メールの発信元とそのメールの改ざんがされていないことを証明する認証です。

簡単に流れを説明すると
  1. 発信メールが、発信メールサーバを通過する時に特定のヘッダーと本文(の一部)を元に文字列を作成して、メールヘッダーに含めて次のメールサーバへ送ります。
  2. 最終的に受け取るメールサーバまで到達したときに、発信メールサーバを管理するDNSサーバに対してDKIMの公開鍵を受け取ります。
  3. 受け取った公開鍵を使い、特定のヘッダーと本文(の一部)を元に文字列を作成し、メールヘッダーに記載されたDKIMの値と照合します。
  4. 両方の文字列が一致すれば「発信元及び内容に偽りなし」=pass。異なれば「疑わしいメール」=fail、という判定をします。
この判定とをもって、受信するか拒否するかが決まることになります。
また、SPFの判定結果と合わせてDMARCでメールの受信・拒否を決めることもできます

インストール開始

OS:AlimaLinux 9.6
ソフト:openkdim 2.11.0

参考 URL
https://note.com/yukioterasawa/n/nb4e3a13ca0ba
https://baremail.jp/blog/2024/03/25/3739/
AlimaLinuxではそのまま dnf を実行しても openkdim はインストールできません。
それは、通常のAppStreamに含まれていないからです。そのため、crb(CodeReady Linux Builder) リポジトリとepel (Extra Packages for Enterprise Linux) リポジトリを設定する必要があります。

crbを設定します
	# dnf config-manager --set-enabled crb

epelを設定し、openkdimとopenkdim-toolsをインストールします
	# dnf --enablerepo=epel install opendkim opendkim-tools
	AlmaLinux 9 - CRB                                                                                                                               2.7 MB/s | 2.6 MB     00:00
	メタデータの期限切れの最終確認: 0:00:01 前の 2025年06月05日 15時24分24秒 に実施しました。
	依存関係が解決しました。
	================================================================================================================================================================================
	 パッケージ                                         アーキテクチャー                     バージョン                                    リポジトリー                       サイズ
	================================================================================================================================================================================
	インストール:
	 opendkim                                           x86_64                               2.11.0-0.36.el9                               epel                               223 k
	 opendkim-tools                                     x86_64                               2.11.0-0.36.el9                               epel                                55 k
	依存関係のインストール:
	 libbsd                                             x86_64                               0.12.2-1.el9                                  epel                               120 k
	 libmd                                              x86_64                               1.1.0-1.el9                                   epel                                46 k
	 libmemcached-awesome                               x86_64                               1.1.0-12.el9                                  crb                                110 k
	 libopendkim                                        x86_64                               2.11.0-0.36.el9                               epel                                70 k
	 opendbx                                            x86_64                               1.4.6-38.el9                                  epel                                52 k
	 sendmail-milter                                    x86_64                               8.16.1-11.el9                                 crb                                 38 k

	トランザクションの概要
	================================================================================================================================================================================
	インストール  8 パッケージ

	ダウンロードサイズの合計: 714 k
	インストール後のサイズ: 1.8 M
	これでよろしいですか? [y/N]: y
	パッケージのダウンロード:
	(1/8): sendmail-milter-8.16.1-11.el9.x86_64.rpm                                                                                                 950 kB/s |  38 kB     00:00
	(2/8): libmemcached-awesome-1.1.0-12.el9.x86_64.rpm                                                                                             2.2 MB/s | 110 kB     00:00
	(3/8): libbsd-0.12.2-1.el9.x86_64.rpm                                                                                                           1.6 MB/s | 120 kB     00:00
	(4/8): libmd-1.1.0-1.el9.x86_64.rpm                                                                                                             721 kB/s |  46 kB     00:00
	(5/8): libopendkim-2.11.0-0.36.el9.x86_64.rpm                                                                                                   1.1 MB/s |  70 kB     00:00
	(6/8): opendbx-1.4.6-38.el9.x86_64.rpm                                                                                                          1.3 MB/s |  52 kB     00:00
	(7/8): opendkim-tools-2.11.0-0.36.el9.x86_64.rpm                                                                                                2.7 MB/s |  55 kB     00:00
	(8/8): opendkim-2.11.0-0.36.el9.x86_64.rpm                                                                                                      3.8 MB/s | 223 kB     00:00
	--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
	合計                                                                                                                                            668 kB/s | 714 kB     00:01
	トランザクションを確認しています
	トランザクションの確認に成功しました。
	トランザクションをテストしています
	トランザクションのテストに成功しました。
	トランザクションを実行しています
	  準備中           :                                                                                                                                                        1/1
	  インストール中   : opendbx-1.4.6-38.el9.x86_64                                                                                                                            1/8
	  インストール中   : libmemcached-awesome-1.1.0-12.el9.x86_64                                                                                                               2/8
	  インストール中   : libmd-1.1.0-1.el9.x86_64                                                                                                                               3/8
	  インストール中   : libbsd-0.12.2-1.el9.x86_64                                                                                                                             4/8
	  インストール中   : libopendkim-2.11.0-0.36.el9.x86_64                                                                                                                     5/8
	  インストール中   : sendmail-milter-8.16.1-11.el9.x86_64                                                                                                                   6/8
	  scriptletの実行中: opendkim-2.11.0-0.36.el9.x86_64                                                                                                                        7/8
	  インストール中   : opendkim-2.11.0-0.36.el9.x86_64                                                                                                                        7/8
	  scriptletの実行中: opendkim-2.11.0-0.36.el9.x86_64                                                                                                                        7/8
	  インストール中   : opendkim-tools-2.11.0-0.36.el9.x86_64                                                                                                                  8/8
	  scriptletの実行中: opendkim-tools-2.11.0-0.36.el9.x86_64                                                                                                                  8/8
	  検証中           : libmemcached-awesome-1.1.0-12.el9.x86_64                                                                                                               1/8
	  検証中           : sendmail-milter-8.16.1-11.el9.x86_64                                                                                                                   2/8
	  検証中           : libbsd-0.12.2-1.el9.x86_64                                                                                                                             3/8
	  検証中           : libmd-1.1.0-1.el9.x86_64                                                                                                                               4/8
	  検証中           : libopendkim-2.11.0-0.36.el9.x86_64                                                                                                                     5/8
	  検証中           : opendbx-1.4.6-38.el9.x86_64                                                                                                                            6/8
	  検証中           : opendkim-2.11.0-0.36.el9.x86_64                                                                                                                        7/8
	  検証中           : opendkim-tools-2.11.0-0.36.el9.x86_64                                                                                                                  8/8

	インストール済み:
	  libbsd-0.12.2-1.el9.x86_64      libmd-1.1.0-1.el9.x86_64              libmemcached-awesome-1.1.0-12.el9.x86_64 libopendkim-2.11.0-0.36.el9.x86_64 opendbx-1.4.6-38.el9.x86_64
	  opendkim-2.11.0-0.36.el9.x86_64 opendkim-tools-2.11.0-0.36.el9.x86_64 sendmail-milter-8.16.1-11.el9.x86_64

	完了しました!

新しく「/etc/opendkim」が作られ、必要ファイルとフォルダが作成されました
	# ls -l /etc/opendkim/
	合計 16
	-rw-r-----. 1 opendkim opendkim  339 11月 28  2023 KeyTable
	-rw-r-----. 1 opendkim opendkim 1221 11月 28  2023 SigningTable
	-rw-r-----. 1 opendkim opendkim  378 11月 28  2023 TrustedHosts
	drwxr-x---. 2 root     opendkim 4096 11月 28  2023 keys

ただし、keys フォルダは空です
	# ls -l /etc/opendkim/keys/
	合計 0

空だった keys フォルダに秘密鍵と公開鍵を登録します
	※スイッチの説明※
	
スイッチ内容登録文字
-bキーの長さです。今回は 2048bit です2048
-D鍵の保存場所です/etc/opendkim/keys/
-d対象となるドメインですusi.nu
-sセレクタです。セレクタとは鍵の名前と考えて良いと思いますusi.serekuta
# opendkim-genkey -b 2024 -D /etc/opendkim/keys/ -d usi.nu -s usi.serekuta 鍵ができたか確かめます # ls -l /etc/opendkim/keys/ 合計 8 -rw-------. 1 root root 1675 6月 5 15:36 usi.serekuta.private -rw-------. 1 root root 500 6月 5 15:36 usi.serekuta.txt 拡張子が「private」が秘密鍵で、「txt」が公開鍵です。 秘密鍵は絶対他人に見せないようにして下さい。 鍵の所有者とグループを opendkim に変更します # chown -R opendkim:opendkim /etc/opendkim/keys/ # ls -l /etc/opendkim/keys/ 合計 8 -rw-------. 1 opendkim opendkim 1675 6月 5 15:36 usi.serekuta.private -rw-------. 1 opendkim opendkim 500 6月 5 15:36 usi.serekuta.txt 公開鍵をDNSサーバにコピーします 内容を見るとランダムな文字列が前半と後半に分かれていました。 # cat /etc/opendkim/keys/usi.serekuta.txt usi.serekuta._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=ランダムな文字列前半" "ランダムな文字列後半" ) ; ----- DKIM key usi.serekuta for usi.nu 上記の内容を DNSサーバに設定します 設定する場所は、正引きのゾーンにコピーします。参考URLにはなかったのですが、私の場合、$ORIGIN を利用していたので、FQDN(完全修飾ドメイン名)で記述する必要がありました。 公開鍵に手を加えることはできるだけ避けた方が良いのですが、うまくいかなかった場合は参考にして下さい。 ※必ずシリアル番号を増やしてください。セカンダリDNSやキャッシュDNSに反映することによりインターネット全体に早く周知され、opendkim の公開鍵を早く取得することができます。 # vi usi.nuゾーン $ORIGIN . $TTL 86400 usi.nu IN SOA dns.usi.nu. ( 2025060601 ; serial 必ず増やすこと : :省略 : ; openDKIM usi.serekuta._domainkey.usi.nu. IN TXT ( "v=DKIM1; k=rsa; " "p=ランダムな文字列前半" "ランダムな文字列後半" ) ; ----- DKIM key usi.serekuta for usi.nu : :以下省略 ゾーン文法の確認をして、DNSサーバをリスタートします # named-checkzone usi.nu /var/named/usi.nuゾーン zone usi.nu/IN: loaded serial 2025060601 OK # systemctl restart named DNSSECを利用されている方へ 通常のゾーンファイルを更新してもそのまま使うのではなく、signed されたファイルを更新するように注意して下さい。 keyファイル、privateファイルのあるディレクトリ(例:/var/named/key)に移動して作成をして下さい。 ゾーンファイル―が正しい事が必須なので、named-checkzone でチェックをして下さい。 ドメイン usi.nu ゾーンファイル zone.file KSKファイル ksk.+013+11122.key ZSKファイル ksk.+013+33344.key 形式 dnssec-signzone -o ドメイン -k KSKファイル.key /var/named/ゾーンファイル ZSKファイル.key # cd /var/named/key # dnssec-signzone -o usi.nu -k ksk.+013+11122.key /var/named/zone.file ksk.+013+33344.key # systemctl reload named DNSサーバが正常に動作しているか確認をします Active:項目が「active (running)」になっていれば動作しています。 # systemctl status named ● named.service - Berkeley Internet Name Domain (DNS) Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; preset: disabled) Active: active (running) since Fri 2025-06-06 02:43:44 JST; 14h ago :以下省略 openkdimの設定をします 【openkdim.conf】 これは、openkdimの設定そのものとなります。 # cd /etc # cp opendkim.conf opendkim.conf.org <-バックアップを取りたい方はどうぞ # vi opendkim.conf << 変更点のみ記述します >> ★サーバの種類 ## Selects operating modes. Valid modes are s (sign) and v (verify). Default is v. ## Must be changed to s (sign only) or sv (sign and verify) in order to sign outgoing ## messages. Mode s <- サーバが送信のみ Mode sv <- サーバが送受信 ★メールサーバがopenkdimのソケットに接続する方法 Socket inet:8891@localhostを選択 -> メールサーバには「 smtpd_milters = inet:127.0.0.1:8891 」 Socket local:/run/opendkim/opendkim.sockを選択 -> メールサーバには「 smtpd_milters = unix:/run/opendkim/opendkim.sock 」 今回は「local」で進めます。 ## Create a socket through which your MTA can communicate. #Socket inet:8891@localhost Socket local:/run/opendkim/opendkim.sock ★KeyTable を設定 ## Gives the location of a file mapping key names to signing keys. In simple terms, ## this tells OpenDKIM where to find your keys. If present, overrides any KeyFile ## directive in the configuration file. Requires SigningTable be enabled. KeyTable /etc/opendkim/KeyTable <-KeyTableの保存場所を設定 ★SigningTable を設定 ## Defines a table used to select one or more signatures to apply to a message based ## on the address found in the From: header field. In simple terms, this tells ## OpenDKIM how to use your keys. Requires KeyTable be enabled. SigningTable refile:/etc/opendkim/SigningTable <-SigningTableの保存場所を設定 ★InternalHost を設定 複数のCクラス以上を賄う時に設定します。 ## Identifies a set "internal" hosts whose mail should be signed rather than verified. InternalHosts refile:/etc/opendkim/TrustedHosts <-TrustedHostsの保存場所を設定 ★はまりポイント No.1 公開鍵を記載しているDNSサーバがオープンネームサーバにならない為に、キャッシュサーバを停止しているケースがあります。 そうなるとDNSサーバを使った場合、自分のネットワークの名前解決はできますが、他所はできない状態になります。 その解決に「resolv.conf」にプロバイダのDNSや安全な公開DNS(8.8.8.8等)を設定していると、opendkimの公開鍵が取得できずエラーとなります。 その場合は、下記のように「Nameservers」の行を追記して下さい。 Nameservers 133.18.168.21, 133.18.195.89; <-公開鍵を持っているサーバのIPアドレス。プライマリDNSとセカンダリDNSを並べて下さい。 ★はまりポイント No.2 メールヘッダーにサイズ上限があります。初期値の上限は64kbです。 しかし、ここに暗号やセキュリティなどの情報が来ると時折、オーバーしてしまう事があります。 maillogに Jun 12 00:00:00 hoge opendkim[40630]: too much header data と、「 too much header data 」あれば、メールヘッダーのサイズオーバーです。 こうなるとミルタからも「milter-reject: END-OF-MESSAGE 」とエラーが発生します。 そこで、メールヘッダーサイズを変更する場合は以下のコマンドを追記してください。 単位は「バイト」で書いていますが、「メガ(M)」や「キロ(K)」も使えるようです。 値を「ゼロ」にすると無制限となりますが、キャッシュを容量オーバーにする攻撃もあるので、あまりお勧めできません。 ## Max Header size 2097152b = 2MB MaximumHeaders 2097152 【KeyTable】 ファイル場所:/etc/opendkim/KeyTable 秘密鍵の場所を設定ます。 サンプルの意味
サンプル内容登録文字
defaultセレクタusi.serekuta
._domainkey.このまま使用._domainkey.
example.comドメインusi.nu
# OPENDKIM KEY TABLE # To use this file, uncomment the #KeyTable option in /etc/opendkim.conf, # then uncomment the following line and replace example.com with your domain # name, then restart OpenDKIM. Additional keys may be added on separate lines. #default._domainkey.example.com example.com:default:/etc/opendkim/keys/default.private usi.serekuta._domainkey.usi.nu usi.nu:usi.serekuta:/etc/opendkim/keys/usi.serekuta.private 【SigningTable】ファイル場所:/etc/opendkim/SigningTable From:ヘッダーに記載のドメインを使って秘密鍵を取りに行きます。 サンプルの意味
サンプル内容登録文字
*@@以前は何でもOK*@
example.comドメインusi.nu
defaultセレクタusi.serekuta
._domainkey.そのまま使用._domainkey.
# WILDCARD EXAMPLE # Enables signing for any address on the listed domain(s), but will work only if # "refile:/etc/opendkim/SigningTable" is included in /etc/opendkim.conf. # Create additional lines for additional domains. #*@example.com default._domainkey.example.com *@usi.nu usi.serekuta._domainkey.usi.nu 【TrustedHosts】ファイル場所:/etc/opendkim/TrustedHosts ネットワーク領域が複数ある場合は、こちらにその領域を記載しておくことが大切です。 多くのバーチャル環境を使われている場合や、VPNなどを利用の場合が多いと思います。 【注意】先頭の「127.0.0.1」は削除しないようにしてください。これは決まり事です。 # OPENDKIM TRUSTED HOSTS # To use this file, uncomment the #ExternalIgnoreList and/or the #InternalHosts # option in /etc/opendkim.conf then restart OpenDKIM. Additional hosts # may be added on separate lines (IP addresses, hostnames, or CIDR ranges). # The localhost IP (127.0.0.1) should always be the first entry in this file. 127.0.0.1 ::1 192.168.1.0/24 192.168.30.0/24 192.168.180.0/24 10.100.22.0/24 #host.example.com postfixの設定 postfixのmain.cfにopendkimのソケットを記載します。 openkdim.conf の時に選択したつなぎ方を見て記述して下さい。 # vi /etc/postfix/main.cf : :文末に記述 # openDKIM smtpd_milters = unix:/run/opendkim/opendkim.sock milter_default_action = accept 各ソフト起動と再読込 opendkim を起動状態 # systemctl enable --now opendkim.service Created symlink /etc/systemd/system/multi-user.target.wants/opendkim.service → /usr/lib/systemd/system/opendkim.service. ソケットにpostfixアカウントがアクセスできるようにする # usermod -aG opendkim postfix postfixをリロードする #systemctl reload postfix systemctl statusでそれぞれが 「Active (running)」 か確認する。 テストメール送信 テストメールを送信します。 ■送信サーバ maillog に Jun 6 00:00:00 hoge opendkim[12]: 206C662B7F1: DKIM-Signature field added (s=usi.serekuta, d=usi.nu) と「DKIM-Signature field added (s=usi.serekuta, d=usi.nu)とあれば正常に通信されました。 「bad signature data」と表示される場合は、opendkim.confのNameserversを検討してみて下さい。 ■受信メール メールヘッダのAuthentication-Results の行に「dkim=pass」とあれば認証が許可されています。 ここが「dkim=fail」なら、認証されずに通過しています。これは改ざんされていても通過する事態です。 opendkim.confとpostfixのmain.cfの設定を見直してください。 また、公開鍵のコピーに誤りが無いか。リゾルバ設定が公開鍵のサーバを見ているか。も合わせて確認して下さい。 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ◤お困りFAQ◢ 公開鍵と秘密鍵の整合性チェック 鍵を生成しDNSサーバにコピーしたりします。 そんな時にバージョンにもよりますが、確認する方法があります。 【【 opendkim-testkey 】】 では、準備をしていきましょう! ★ --- DNSサーバ ◎ --- Mailサーバ ★1:ゾーンファイルに記述したDKIMのTXTレコードの正確な値を確認します。 ●フォーマット # dig TXT usi.serekuta._domainkey.usi.nu @localhost ●例: # dig TXT usi.serekuta._domainkey.usi.nu @localhost ; <<>> DiG 9.16.23-RH <<>> TXT usi.serekuta._domainkey.usi.nu @localhost ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1258 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: ffb8e192c2c75bac0100000068439db56f3ffe1472c62825 (good) ;; QUESTION SECTION: ;usi.serekuta._domainkey.usi.nu. IN TXT ;; ANSWER SECTION: usi.serekuta._domainkey.usi.nu. 3600 IN TXT "v=DKIM1; k=rsa; " "p=400文字の乱数" ;; Query time: 2 msec ;; SERVER: ::1#53(::1) ;; WHEN: Sat Jun 07 11:02:29 JST 2025 ;; MSG SIZE rcvd: 509 v=DKIM1; k=rsa; " と "p=400文字の乱数" の部分を結合し、改行や余分なスペースを排除した一つの文字列として手元にメモしてください。 ◎2:opendkim-testkeyで確認 ●フォーマット # opendkimtestkey -d usi.nu -s usi.serekuta -k /etc/opendkim/keys/usi.serekuta.private -vvv ※スイッチの説明※
スイッチ文字列説明
-dusi.nuドメイン
-susi.serekutaセレクタ名
-k/etc/opendkim/keys/usi.serekuta.private秘密鍵ファイルの絶対パス
※エラーメッセージ # opendkim-testkey -d usi.nu -s usi.serekuta -k /etc/opendkim/keys/usi.serekuta.private -vvv opendkim-testkey: using default configfile /etc/opendkim.conf opendkim-testkey: key loaded from /etc/opendkim/keys/usi.serekuta.private opendkim-testkey: checking key 'usi.serekuta._domainkey.usi.nu' opendkim-testkey: 'usi.serekuta._domainkey.usi.nu' query failed 最後の行に「failed」とあります。これはエラーです。 このメッセージは、opendkim-testkeyがDNSサーバーに公開されているDKIMのTXTレコードを正常に問い合わせできなかったことを示しています。つまり、ローカルのファイルシステム上にある秘密鍵は読み込めているものの、その秘密鍵に対応する公開鍵がDNSで引けない、あるいは不正だと判断されています。 原因としては考えられることは 1:DNSサーバが古いキャッシュを持っている。 2:公開鍵と秘密鍵の文字列が合っていない。 1番の場合 DNSリゾルバ設定に問題がある可能性があります。openkdim-testkey は通常、システムデフォルトのDNSリゾルバ設定を使用します。 /etc/resolv.confに記載のDNSサーバにopendkimの公開鍵があるサーバが記載されていないか、DNSサーバが新しい情報に書き換わっていない事が考えられます。 resolv.confに公開鍵を置いたDNSサーバが無い場合は opendkim.conf の Nameservers に公開鍵のあるDNSサーバを指定して下さい。 また、「# dig ドメイン SOA @localhost」でシリアル番号が更新されているか確認して下さい。更新されていない場合は、ゾーンファイルの確認を。DNSSECの場合は、sigins ファイル更新の確認をして下さい。 DNSSECのシリアル番号が増えていないと、インターネットに広まる速度が遅く送信エラーとなりかねないので、必ず、上げるように心がけて下さい。 2番の場合 公開鍵のコピーが合っているかどうかを確認するか、再度コピーしなおしてください。 ただ、このページでは名前解決に問題があったため、FADQの書き方に変更しています。 コピーした後に、ドメインの追記を忘れないようにして下さい。 ※成功メッセージ # opendkim-testkey -d usi.nu -s usi.serekuta -k /etc/opendkim/keys/usi.serekuta.private -vvv opendkim-testkey: using default configfile /etc/opendkim.conf opendkim-testkey: key loaded from /etc/opendkim/keys/usi.serekuta.private opendkim-testkey: checking key 'usi.serekuta._domainkey.usi.nu' opendkim-testkey: key not secure opendkim-testkey: key OK 最後の行で「Key OK」と表示されているので問題は無くなりました。 尚、最後から2行目の「Key not secure」は 「DNSSEC の検証」が問題となっています。 opendkim-testkey は自分が持っているDNSの設定で処理をするため、本来のDNSリゾルバを使わず検証を行います。 opendkimを確認するために特化されているので、DNSSEC関連にエラーが出ても特に問題としていないのです。 それよりも最後の行で「OK」が出た時点で、opendkimは問題なく稼働しているという事が確認されているので、個々ではこれで「問題なし」と考えて良いと思います。 まとめ ・opendkim-testkeが「query failed」になる原因は、参照するDNSサーバに問題がある事。 ・resolv.confを操作できない場合は、opendkim.confのNameserversを使って、公開鍵を持っているDNSサーバを指定する事。 メールヘッダーについて メールヘッダーにいろいろと情報が掲載されます。 特に「Authentication-Results」という項目に注目して下さい。 --- mail header sample ---- Authentication-Results: nifty.com; spf=pass smtp.mailfrom=kuma@usi.nu; sender-id=pass header.From=kuma@usi.nu; dkim=pass header.i=@usi.nu; dkim-adsp=pass header.from=kuma@usi.nu ---- EOF ---- 2行目に「dkim=pass」とあります。これは、opendkimが正常に承認されたことを示します。 つまり、メールに記載のdkimの値と、公開鍵を使って計算した値が一致したことを示しています。 この一致をもって、「このメールはメールヘッダーおよび本文に買い残はない」という証明がされたという事です。 ちなみに1行目に「spf=pass」とありますので、「正しいサーバからの発信」を証明しています。 ネームサーバ更新の遅延 ネームサーバに公開鍵を入れていて、それが伝播するまでに時間がかかるケースがあります。 きちんと伝わっているかどうかを確認するには「dig」を使う方法があります。 2つの方法で、エラーが出ない事と、シリアルが設定どおりの最新であることに注意してください。 全体のネットワークを確認 # dig usi.nu SOA @127.0.0.1 ; <<>> DiG 9.16.23-RH <<>> usi.nu SOA @127.0.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19286 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: f1a75e627c0d8dc501000000684683f155a488ec068f32d3 (good) ;; QUESTION SECTION: ;usi.nu. IN SOA ;; ANSWER SECTION: usi.nu. 3600 IN SOA dns.usi.nu. 2025060605 7200 1800 86400 43200 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Mon Jun 09 15:49:21 JST 2025 ;; MSG SIZE rcvd: 109 domainkey を確認 # dig usi.serekuta._domainkey.usi.nu TXT @127.0.0.1 ; <<>> DiG 9.16.23-RH <<>> usi.nu._domainkey.usi.nu TXT @127.0.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 56358 ;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: 48dab87b3bce84e1010000006846844805a39157a7733646 (good) ;; QUESTION SECTION: ;usi.nu._domainkey.usi.nu. IN TXT ;; AUTHORITY SECTION: usi.nu. 3600 IN SOA dns.usi.nu. 2025060605 7200 1800 86400 43200 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Mon Jun 09 15:50:48 JST 2025 ;; MSG SIZE rcvd: 133
以上です。

2025-06-07 初版
2025-06-09 opendkim.conf(InternalHost)とTrustedHostsの設定を加筆
2025-06-12 opendkim.confにMaximumHeaders の設定を加筆

Let's PC の TOPに戻る
ホームページのTOPに戻る