CGI からメール送信するときのエンベロープ From の変更

急に、CGI から送信していたメールが、Gmail に届かなくなった。

maillog を確認すると、

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 [www.exsample.co.jp] did
550-5.7.26 not pass with ip: [210.XXX.XXX.XXX]. 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.

ああ、定番の 550 エラー・・・

www.exsample.co.jp ドメインの SPF レコードに、送信元サーバの IP 210.XXX.XXX.XXX が登録されていないので、怪しいからメールは受け取らんよ・・・という Gmail のエラー。

最近、セキュリティ対策でサーバ構成が変わって、www.exsample.co.jp が別のサーバの CNAME になったので(お客さんのサーバなので、俺の権限ではどうしようもない)、www.exsample.co.jp の TXT レコードが書けんのよね。なので、その中に SPF レコードも書けず・・・

ちなみに、example.co.jp の SPF レコードは存在する。

# nslookup -q=TXT exsample.co.jp

と引いてみると、

exsample.co.jp   text = "v=spf1 ip4:202.XXX.XXX.XXX ip4:163.XXX.XXX.XXX ip4:210.XXX.XXX.XXX include:spf.securemx.jp ~all"

と返ってくる。
エンベロープ From を admin@www.exsample.co.jp から admin@exsample.co.jp に変えてやればいいというわけだ。

CGI の中では、

    $mail_data = <<EOM;
From: admin@exsample.co.jp
To: hogehoge@gmail.com
Subject: TEST MAIL
MIME-Version: 1.0
Content-type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
X-Mailer: CGI-Script

test death.

EOM

    if (!open (MAIL,"| sendmail -t")) {
        print "Error : Mail Send\n";
    }

    print MAIL $mail_data;
    close(MAIL);

のように sendmail でメール送信をしている。

ここで、sendmail の引数に -f を追加してやれば、エンベロープ From を書き換えることができる。

具体的には、↓こう。

    if (!open (MAIL,"| sendmail -t -f admin@exsample.co.jp")) {
        print "Error : Mail Send\n";
    }

これで、エンベロープ From には admin@exsample.co.jp がセットされ、Gmail は example.co.jp の SPF レコードを参照し、万事解決である(笑)

トラックバック(0)

このブログ記事を参照しているブログ一覧: CGI からメール送信するときのエンベロープ From の変更

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/6489

コメントする

このブログ記事について

このページは、shinodaが2023年5月 9日 08:15に書いたブログ記事です。

ひとつ前のブログ記事は「祖生の紹介が」です。

次のブログ記事は「梅干しを作ることにした」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら