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

メールヘッダーを見てみよう

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 メールヘッダーを見てみよう

NGK2025S LT スライド

Avatar for Nonogaki Hiroshi

Nonogaki Hiroshi

January 17, 2025
Tweet

More Decks by Nonogaki Hiroshi

Other Decks in Technology

Transcript

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

    • COBOLer • Z80er NGK2023S RFC5322に浸かろう NGK2024S OSINTから得られる組織評価 2025/01/18 NGK2025S メールヘッダーを見てみよう 2
  2. RFC 5322 とは RFC 5322 は、「インターネットメッセージ形式 (Internet Message Format)」に関する仕様を定義 したインターネット標準文書です。この

    RFC は、電子メールのメッセージの構造とフォーマットを 規定しています。具体的には、以下のような要素を含んでいます: • ヘッダー(Headers): 送信者、受信者、件名、日付などの情報。 • 本文(Body): メッセージの内容。 RFC 5322 は、RFC 2822 を更新するもので、メールメッセージのフォーマットに関する最新のガイ ドラインを提供しています。主な内容は以下の通りです: • メッセージの構造: ヘッダーフィールドと本文の区別。 • ヘッダーフィールドの形式: フィールド名、フィールド値、フィールドの折り返し方法など。 • 文字エンコーディング: 特に非ASCII文字を扱うための規則。 • 特定のヘッダーフィールドの詳細な定義(例えば、From, To, Subject など)。 この仕様は、電子メールを送受信する際に、メールクライアントやサーバーが互換性を持って動作す ることを保証するために重要です。 (Grok2より) 2025/01/18 NGK2025S メールヘッダーを見てみよう 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 | | +----------------+--------+------------+----------------------------+ 2025/01/18 NGK2025S メールヘッダーを見てみよう 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 2025/01/18 NGK2025S メールヘッダーを見てみよう 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> 2025/01/18 NGK2025S メールヘッダーを見てみよう 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: NGK2025S LT Subject: 2025/01/18 NGK2025S メールヘッダーを見てみよう 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文字以下であ る必要があります。 2025/01/18 NGK2025S メールヘッダーを見てみよう 8