1. Introduction (導入)
1. Introduction (導入)
現在の電子メールインフラストラクチャは、システムにメールを投入するどのホストも、[RFC5321]および[RFC5322]で指定されているさまざまな識別子で任意のDNSドメイン名を使用できるという特性を持っています。この特性はいくつかのケースで有利ですが、未承諾の大量電子メール(UBE, Unsolicited Bulk Email、スパムとしても知られる)を削減する上で主要な障害となっています。さらに、ADMD([RFC5598]で説明されている)は、他のエンティティが自分のドメイン名を容易に使用できること、しばしば悪意を持って使用されることを当然懸念しています。
このドキュメントは、ADMDが「MAIL FROM」または「HELO」アイデンティティで自分のドメイン名を使用することをホストに認可できるプロトコルを定義します。準拠したADMDは、どのホストが自分の名前を使用することを許可されているかを指定するSender Policy Framework (SPF)レコードをDNSで公開し、準拠したメール受信者は、公開されたSPFレコードを使用して、メールトランザクション中に特定の「HELO」または「MAIL FROM」アイデンティティを使用する送信メール転送エージェント(MTA, Mail Transfer Agent)の認可をテストします。
メール受信者にとってのもう1つの利点は、アイデンティティの使用を検証した後、ホストのIPアドレスではなく送信者のドメインに基づいてメールに関するローカルポリシー決定を行うことができることです。これは、ドメイン名の評判がホストIPアドレスの評判よりも正確である可能性があるため有利です。なぜなら、ドメイン名はより長い期間にわたってより安定している可能性があるためです。さらに、主張されたアイデンティティが検証できない場合、ローカルポリシーはそのような電子メールに対してより厳しい措置を取ることができます。例えば、それを拒否することができます。
1.1 Terminology (用語)
1.1.1 Key Words (キーワード)
このドキュメントのキーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「NOT RECOMMENDED」、「MAY」、および「OPTIONAL」は、[RFC2119]で説明されているように解釈されるべきです。
1.1.2 Imported Definitions (インポート定義)
ABNF (Augmented Backus-Naur Form)は[RFC5234]で定義されており、トークン「ALPHA」、「DIGIT」、および「SP」(スペース)もそこで定義されています。
トークン「Local-part」、「Domain」、および「Mailbox」は[RFC5321]で定義されています。
「dot-atom」、「quoted-string」、「comment」、「CFWS」(Comment Folded White Space)、「FWS」(Folded White Space)、および「CRLF」(Carriage-Return/Line-Feed)は[RFC5322]で定義されています。
1.1.3 MAIL FROM Definition (MAIL FROM定義)
このドキュメントは、[RFC5321]で説明されているメッセージ送信者のアイデンティティに関係しています:
トランザクションはMAILコマンドで始まり、これが送信者のアイデンティティを提供します。
このアイデンティティには多くの他の名前があるため、以下の条件を満たす名前を選択することが重要です:
-
一般的に使用されている
-
明確に定義されている
したがって、このドキュメントでは「MAIL FROM」という用語が使用され、これは[RFC5598]で説明されているRFC5321.MailFrom (Reverse-Path)アイデンティティとして定義されています。
1.1.4 HELO Definition (HELO定義)
このドキュメントはHELO/EHLOアイデンティティも使用します。「HELO」アイデンティティはSMTP HELOまたはEHLOコマンドに由来します([RFC5321]参照)。HELOとEHLOは多くの場合に互換的に使用できるため、このドキュメントでは通常「HELO」として識別されます。これは[RFC5598]で定義されているRFC5321.HELO/.EHLOを意味します。これらのコマンドは、SMTPセッションのためにSMTPクライアント(送信ホスト)のアイデンティティを提供します。
1.2 check_host()
セクション4では、着信電子メールトランザクションに対してSPFポリシーを評価するために使用されるアルゴリズムを紹介します。初期の実装では、このアルゴリズムはcheck_host()という名前の関数でコード化されていました。この名前は、このドキュメントでSPF評価アルゴリズムのシンボルとして使用されていますが、もちろん実装者はこの名前を使用する必要はありません。