なにこれ
RFC5322を読んだメモ
この辺を使って読みました。フィールド定義のところしか読めてないですが
Mouse Dictionary - Chrome Web Store
Google Translate - Chrome Web Store
イントロダクション
- RFC5322はRFC2822の更新版
- メールヘッダー(封筒って言われている)の仕様のみを記載している
フィールド定義
フィールド名:フィールド値
で書かれる- フィールドの順序は保証されていない
- 必須のフィールドはorigination date(orig-date), originator address(from)のみ。他はオプション扱い
The Origination Date Field
orig-date
- orig-date = "Date:" date-time CRLF
- 作成者がメッセージを作成完了し、メール転送準備が整ったとき。
- メールの送信ボタンを押したときとか。
- 転送の開始時間などは考慮されてない
- 作成者がメッセージを作成完了し、メール転送準備が整ったとき。
Originator Fields
- from = "From:" mailbox-list CRLF
- 送信元
- sender = "Sender:" mailbox CRLF
- reply-to = "Reply-To:" address-list CRLF
- 返信時に送信すべき宛先。なければFromに対して送信される
Destination Address Field
- to = "To:" address-list CRLF
- cc = "Cc:" address-list CRLF
- cc -> carbon copyの略
- bcc = "Bcc:" [address-list / CFWS] CRLF
Identification Fields
- message-id = "Message-ID:" msg-id CRLF
- 3.6の図だとオプショナル扱いだが、全てのメッセージに必要(SHOULD)
- 特定のバージョンの特定のメッセージを特定できる一意な識別子。一意であることは生成するホストで保証する
- メッセージが変更されてもmessage-idは変更されない
- in-reply-to = "In-Reply-To:" 1*msg-id CRLF
- 全てのReplyのメッセージに必要(SHOULD)
- 親メッセージ(返信元)のmessage-idが含まれる。親メッセージが複数の場合は複数
- 新しいメッセージの場合、in-reply-toフィールド自体が存在しない
- references = "References:" 1*msg-id CRLF
- 親メッセージにrefelencesフィールドが存在する場合
- 親のreferencesフィールドに親のmessage-idを加える
- 親メッセージにrefelencesフィールドが存在しないが、in-reply-toフィールドが存在する場合
- 親in-reply-toフィールドの値をreferencesに格納、その後に親のmessage-idを加える
- 親メッセージにin-reply-to, references, message-id(これは必須では?)が含まれない場合
- referencesフィールドは付与しない
- これだけ見ると最初の返信メッセージにはreferencesフィールドは付与しないように見えるが、Gmailでは最初に返信したメッセージにもreferencesフィールドが付与されている
- スレッド機能はreferencesフィールドをたどることで実装されている。故に複数の親メッセージを持つreplyに対してreferencesフィールドを生成することは非推奨
- referencesフィールドは付与しない
- 親メッセージにrefelencesフィールドが存在する場合
- msg-id = [CFWS] "<" id-left "@" id-right ">" [CFWS]
- id-left = dot-atom-text / obs-id-left
- id-right = dot-atom-text / no-fold-literal / obs-id-right
- no-fold-literal = "[" *dtext "]"
Informational Fields
- 読み飛ばした
Resent Fields
- 読み飛ばした
Trace Fields
- 読み飛ばした
単語メモ
- envelope
- 封筒, 包むもの
- semantics
- セマンティクス。意味論?
- facilitate
- 楽にする、容易にする
- dictate
- 口述する、意図する
- consist
- 構成する、成り立つ
- for instance
- 例えば