Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RFC 5322 に浸かろう 続編

RFC 5322 に浸かろう 続編

DNS温泉番外編in大阪 vol.3 LT

Avatar for Nonogaki Hiroshi

Nonogaki Hiroshi

December 15, 2024
Tweet

More Decks by Nonogaki Hiroshi

Other Decks in Technology

Transcript

  1. 自己紹介 • 野々垣 裕司 (ののがき ひろし) • 仕事でインターネットに携わって28年 • IPv6に携わって24年

    • Twitter(現:X) xplntr Hi.NONOGAKI 2020冬DNS温泉番外編in大阪 RFC 5322 に浸かろう 2023冬DNS温泉番外編in大阪 総務担当者のOSINT 2024/12/14 DNS温泉番外編in大阪 vol.3 2
  2. RFC 5322 とは RFC 5322 は、「インターネットメッセージ形式 (Internet Message Format)」に関する仕様を定 義したインターネット標準文書です。この

    RFC は、電子メールのメッセージの構造とフォーマットを規定 しています。具体的には、以下のような要素を含んでいます: • ヘッダー(Headers): 送信者、受信者、件名、日付などの情報。 • 本文(Body): メッセージの内容。 RFC 5322 は、RFC 2822 を更新するもので、メールメッセージのフォーマットに関する最新のガイド ラインを提供しています。主な内容は以下の通りです: • メッセージの構造: ヘッダーフィールドと本文の区別。 • ヘッダーフィールドの形式: フィールド名、フィールド値、フィールドの折り返し方法など。 • 文字エンコーディング: 特に非ASCII文字を扱うための規則。 • 特定のヘッダーフィールドの詳細な定義(例えば、From, To, Subject など)。 この仕様は、電子メールを送受信する際に、メールクライアントやサーバーが互換性を持って動作するこ とを保証するために重要です。 (Grok2より) 2024/12/14 DNS温泉番外編in大阪 vol.3 3
  3. 3.6. Field Definitions +----------------+--------+------------+----------------------------+ | Field | Min | Max

    number | Notes | | | number | | | +----------------+--------+------------+----------------------------+ | orig-date | 1 | 1 | | | from | 1 | 1 | See sender and 3.6.2 | | sender | 0* | 1 | MUST occur with | | | | | multi-address from - see | | | | | 3.6.2 | | reply-to | 0 | 1 | | | to | 0 | 1 | | | cc | 0 | 1 | | | bcc | 0 | 1 | | | message-id | 0* | 1 | SHOULD be present - see | | | | | 3.6.4 | | in-reply-to | 0* | 1 | SHOULD occur in some | | | | | replies - see 3.6.4 | | references | 0* | 1 | SHOULD occur in some | | | | | replies - see 3.6.4 | | subject | 0 | 1 | | +----------------+--------+------------+----------------------------+ 2024/12/14 DNS温泉番外編in大阪 vol.3 4
  4. 3.3 Date and Time Specification date-time = [ day-of-week ","

    ] date time [CFWS] date = day month year day = ([FWS] 1*2DIGIT FWS) / obs-day month = "Jan" / "Feb" / "Mar" / "Apr" / "May" / "Jun" / "Jul" / "Aug" / "Sep" / "Oct" / "Nov" / "Dec" year = (FWS 4*DIGIT FWS) / obs-year time = time-of-day zone time-of-day = hour ":" minute [ ":" second ] hour = 2DIGIT / obs-hour minute = 2DIGIT / obs-minute second = 2DIGIT / obs-second zone = (FWS ( "+" / "-" ) 4DIGIT) / obs-zone Date: Fri, 14 Dec 2024 12:34:56 +0900 Date: 1 Dec 2024 12:34 +0900 Date: 1 Dec 2024 12:34 +000 2024/12/14 DNS温泉番外編in大阪 vol.3 5
  5. 3.6.4. Identification Fields message-id = "Message-ID:" msg-id CRLF 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-righ dot-atom-text = 1*atext *("." 1*atext) atext = ALPHA / DIGIT / "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "/" / "=" / "?" /“^”/ "_" / "`" / "{" / "|" / "}" / "~" no-fold-literal = "[" *dtext "]" dtext = %d33-90 / %d94-126 / obs-dtext Message-ID: <A-.Zaz09!#$%&'*+/=?^_`{|}~@["(),:;<>]> Message-ID: A-.Zaz09!#$%&'*+/=?^_`{|}~@["(),:;<>] Message-ID: <A-.Zaz09!#$%&'*+/=?^_`{|}~@host[IPv6:2001::abc]> Message-ID: <example> 2024/12/14 DNS温泉番外編in大阪 vol.3 6
  6. Other fields to = "To:" address-list CRLF cc = "Cc:"

    address-list CRLF address-list = (address *("," address)) / obs-addr-list Cc: [email protected] Cc: subject = “Subject:" unstructured CRLF comments = "Comments:" unstructured CRLF unstructured = (*([FWS] VCHAR) *WSP) / obs-unstruct VCHAR = %x21-7E WSP = SP / HTAB ; white space Subject: nom nom nom Subject: 2024/12/14 DNS温泉番外編in大阪 vol.3 7
  7. 2.1.1. Line Length Limits There are two limits that this

    specification places on the number of characters in a line. Each line of characters MUST be no more than 998 characters, and SHOULD be no more than 78 characters, excluding the CRLF. この仕様では、1行の文字数に2つの制限があります。文字の各行 は998文字以下である必要があり、CRLFを除いて78文字以下であ る必要があります。 2024/12/14 DNS温泉番外編in大阪 vol.3 8