IAjapanロゴ
有害情報対策ポータルサイト
−迷惑メール対策編−
■ トップ > メール管理者の皆様へ > 運用情報 > 運用に関する提案 > SPFと転送の相性問題に対する解決案
サイト紹介 | 新着情報 | 一般利用者の皆様へ | メール管理者の皆様へ | 活動・関連情報
SPFを普及させるための提案
SPFと転送の相性問題に対する解決案
・SPFと転送の相性問題に対する解決案 (1) 1〜3
・SPFと転送の相性問題に対する解決案 (2) 4〜6
・SPFと転送の相性問題に対する解決案 (3) 7〜11
SPFと転送の相性問題に対する解決策の紹介
■ SPFと転送の相性問題に対する解決案 (2)

 

4. SMTP MAIL FROMの上書きとループの発生

「転送元だけの対応で済むようにSMTPの書式は変更しない」という制約の下では、誰でも「転送元でSMTP MAIL FROMを上書きする」という方法を思いつく。そこで、転送元でSMTP MAIL FROMを上書きし、転送元のメールアドレスを指定することを考える。下の図で明らかなように、example.netは 192.0.2.2 に合致する(橙色のドメイン名に橙色のIPアドレス)。そこで、この方法を用いれば、転送先でのSPF認証の結果は「本物」となる。

転送元でSMTP MAIL FROMを上書きする方法

残念ながらこの方法は、このままでは、エラーメールのループを引き起こす。

転送先でなんらかの原因により、エラーが発生したとしよう。転送先が「自分自身でエラーメールを返すタイプのサーバ」である場合、エラーメールは転送元に戻る。このエラーメールは、SMTP MAIL FROMが上書きされて、転送先に転送される。再転送されたエラーメールは転送されたメールと区別できないので、ループが発生する。このループは、転送元か転送先が定めるメールのホップ数の最大に達するまで解消されない。SPFの仕様書の9.3章でも、考察がここで止まっている。

自分自身でエラーメールを返すタイプのサーバの場合

なお、転送先が「エラーコードを返すタイプのサーバ」である場合は、このループは発生しない。

5. ループの防止案(1)

エラーメールは、SMTP MAIL FROMが“<>”であることから、通常のメールと区別が可能である。ループの防止案(1)として、「エラーメールは転送元のスプールに保存する方法」を提案する。ループが起こらないのは自明である。

ループの防止案 1-1

エラーメールの中から、転送先から戻ってきたものだけを選別し、転送元のスプールに保存できれば理想的である。しかし実際は、転送先から戻ってきたと判断することは困難である。そのため、すべてのエラーメールを転送元のスプールに保存する方法が現実的である。

たとえば下の図で、bobが bob@example.net を名乗り、どこかへメールを出し、それに対してエラーメールが発生したとしよう。下の図では桃色となる。これは、転送先からのエラーメールではないので、転送するのが理想的である。転送先でエラーが生じなければ、bobは bob@example.com でそのエラーメールを読める。残念ながら、この解決案では、これを実現できない。

ループの防止案 1-2

なお、転送先が「エラーコードを返すタイプのサーバ」である場合は、転送元はメールをスプールに保存する。

6. ループの防止案(2)

もう一つのループの防止案として、「エラーメールの場合は、SMTP MAIL FROMを上書きせず、“<>”のままで転送する方法」を提案する。

転送先からのエラーメールを受け取った転送元は、再び転送先に転送する。SMTPでは、エラーメールへのエラーメールは発生しない。そこで、転送先でエラーメールのループが止まる。ただし、エラーメールは消去される。

ループの防止案 1-1

転送先以外からのエラーメール(下図の桃色)も、転送先に転送される。転送先でエラーが生じなければ、エラーメールは転送先に保存される。転送先でエラーが生じれば、このエラーメールは消去される。

ループの防止案 2-2

なお、転送先が「エラーコードを返すタイプのサーバ」である場合は、転送元はエラーメールを送信者へ戻す。

 

《PREV》  
《NEXT》
IAjapanについて | 連絡先 | リンク・転載・引用・ロゴ使用について | プライバシーポリシー
 (c) 2001-2009 Internet Association Japan