Gmailが、2024年2月からメール送信側への要求を厳格化して話題になりました。
メール送信者のガイドライン - Google Workspace 管理者 ヘルプ
https://support.google.com/a/answer/81126?hl=ja
SPFやDKIMの設定は、レンタルサーバだと設定すればいけるケースもあるのですが、問題はメーリングリストです。さくらインターネットだとfmlが利用できますが、fmlで調べてもARCヘッダ対応の話は出てきませんし、さくらインターネット公式に問い合わせても、ARC対応予定はないとのこと。
そこで、fmlの設定を見直してみました。転送する限り、ARC対応でもさせないと通らないので、逆に転送はせず、新たなメールをfmlのサーバから送ることにしました。
なおかつ、こちらで管理しているメーリングリストはfrom欄に元の送信主が表示されることが前提なので、fromの表示名を元の送信者のfromにしつつ、アドレスとしてはfmlのアドレスに設定しました。これで、メーリングリストの受信者は送信主を一応確認できるし、それでいて転送ではないのでGmailの規制にもかからないはず。
試行錯誤の結果、次の処理を行うことにしました。
・転送扱いにしないために、受信メールのヘッダのうち、Receivedなどをスキップ
・受信メールのヘッダにGmail特有の項目が含まれる場合、それもスキップ(必須処理なのかは不明です)
・reply-toヘッダにメーリングリストのアドレスを設定
・fromヘッダの表示名(display-name)に受信メールの表示名とアドレスを設定し、実際のアドレスはメーリングリストのアドレスを設定
具体的には、config.phの末尾に下記の内容をつけることで対応しました。これで数か月間メーリングリストの配信もできています(なお、あわせて $DOMAINNAME と $FQDN が意図したドメインになることも確認しています)。
$USE_ORIGINAL_MESSAGE_ID = 0; $SKIP_FIELDS = "Received|Return-Receipt-To|DKIM-Signature|X-Google-DKIM-Signature|X-Gm-Message-State|X-Google-Smtp-Source|X-Received"; $SMTP_OPEN_HOOK = q# $Envelope{'fh:reply-to:'} = $MAIL_LIST; $header_from = $Envelope{"h:From:"}; $header_from =~ s/\\(/g; $header_from =~ s/\>/\)/g; $header_from =~ s/\"//g; $header_from =~ s/^\s+//; $header_from =~ s/\s+$//; $Envelope{'fh:from:'} = "\"" . $header_from . "\"<" . $MAIL_LIST . ">"; #;
この処理を行うことで、メーリングリストのメールに返信するはずが送信主への返信になる、というトラブルも自動的に回避できるという副次的効果もありました。
◀(前記事)[mail] Thunderbirdの添付ファイルを自動的に保存する
▶(次記事)[misc] Windows11で「代替の構成」を設定するには
(一覧)[2.技術情報 (tech)]