SPF 転送

●Sender Rewriting Scheme(SRS)
SPFではエンベロープの送信者を認証対象にするため、転送時にエンベロープの送信者に転送した(オリジナルの)送信者の情報を追加する。通常、UNIXシステムなどでエイリアスや.forwardの機能を使ってメールを転送すると、エンベロープの送信者はオリジナルの送信者のままである。だがSRSを行うと、転送するたびにSMTPプロトコルにおいてMAIL FROM:のパラメータを書き換えていくことになる。本来、MAIL FROM:のパラメータはそうした情報を与えられるようには考えられていないため、MTAの改造が必要となる。したがって、現在ではこれを採用することはあまり考えられていない。
送信ドメイン認証で考慮すべき問題点:企業責任としてのフィッシング対策(1/2 ページ) - ITmedia エンタープライズ 2006

how to set up proper forwarder 2005

procmail procmailrc

The most advanced solution...
... is to forward bounces unless they contain the "X-Loop" token or the forwarding address. This is better than the first form, which deletes all bounces, whether or not they'd cause a loop.

# loop protection
:0 fw
* !^X-Loop: foo@bar.com
| /usr/bin/formail -A'X-Loop: foo@bar.com'
:0 A
{
    :0
    * !^FROM_DAEMON
    ! foo@bar.com
    :0 B
    * !foo@bar.com
    ! foo@bar.com
}

SPF: FAQ/Forwarding 2007

Procmailを使用したWorkarounds

Procmailとは? 2022

Procmail レシピ、フラグ 参考

メールを Gmail に転送するおすすめの方法 - Gmail ヘルプ

WHAT IS THE BEST AUTO RESPONDER

XLOOP=$LOGNAME@$HOST
# loop protection
:0 fw
*$ !^X-Loop: $XLOOP
| /usr/bin/formail -A"X-Loop: $XLOOP"
:0 A
{
    :0
    * !^FROM_DAEMON
    ! foo@bar.com
}

*$ → 条件で変数を使用

$ この条件の直後に続くダブルクォートで囲まれた中身を sh(1) の置換ルールに従って置換する。 そして先頭の空白を読み飛ばした後、再度解析する。
https://manpages.debian.org/bookworm/manpages-ja/procmailrc.5.ja.html

baz.com(適切にSPFが設定されている)が上記のProcmail設定でGmailへメール転送すると SPF: PASS で「baz.com 経由」表示になる。

平衡点(2019-02-07) 2009

1. MAIL FROMを書き換える方式の比較
SPF と転送の相性問題を解決するための MAIL FROM を書き換える方式には、以下の2つが知られている。

  • 単純方式(SPFと転送の相性問題に対する解決案の2つの方式)
  • SRS(Sender Rewriting Scheme

両者の方式とも、エラーメールはループを起こさない。ただ、それぞれの方式には、利点と欠点がある。
単純方式は、転送サーバが単独で導入可能であり、SRS よりは普及しやすいと考えられる。しかし、エラーメールを送信者に送り返せないという欠点を持つ。
一方 SRS は、エラーメールを送信者に送り返せるが、転送サーバすべてが SRS の書式に対応しなければならず、普及しにくいと考えられる。
この記事では、両者の中間解として、単独の転送サーバで導入でき、しかも完全ではないがエラーメールを送信者に送り返せる方式を紹介する。この方式は、大手 ASP で実際に利用されている
SPFと転送の相性問題に対する解決策の紹介 : 迷惑メール対策委員会 2009

SPFと転送の相性問題に対する解決案 : 迷惑メール対策委員会 2006

SRS

http://www.open-spf.org/SRS/

SPF (Sender Policy Framework)とは、送信者アドレスの偽造、つまり偽の送信者アドレスの使用を防ぐための方法です。これによりメールサーバは、あるドメインから受信したメールが、そのドメインの管理者によって認証されたホストから送信されたことを確認できます。Plesk はさらに SRS (Sender Rewriting Scheme)を使用するため、転送されたメッセージが SPF チェックを通過できます。
https://docs.plesk.com/ja-JP/obsidian/administrator-guide/%E3%83%A1%E3%83%BC%E3%83%AB/%E3%82%A2%E3%83%B3%E3%83%81%E3%82%B9%E3%83%91%E3%83%A0%E3%83%84%E3%83%BC%E3%83%AB/dkim%E3%80%81spf%E3%80%81dmarc-%E3%81%AB%E3%82%88%E3%82%8B%E9%98%B2%E5%BE%A1.59433/