<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>メールヘッダー | 徒然なるままに</title>
	<atom:link href="https://www.seichan.org/tag/%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%98%E3%83%83%E3%83%80%E3%83%BC/feed" rel="self" type="application/rss+xml" />
	<link>https://www.seichan.org</link>
	<description>徒然と日々の出来事(ネタ)を書いていこうかと．主に FreeBSD，Unix系の話題が中心ですが，その他の話題もあつかってみたり．</description>
	<lastBuildDate>Mon, 19 Oct 2026 21:52:26 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>【メール入門 第3回】メッセージの構造 ― ヘッダーとボディ、エンベロープ、Received、MIME、日本語</title>
		<link>https://www.seichan.org/2026/10/mail-03-message.html</link>
					<comments>https://www.seichan.org/2026/10/mail-03-message.html#respond</comments>
		
		<dc:creator><![CDATA[seichan]]></dc:creator>
		<pubDate>Mon, 19 Oct 2026 09:00:00 +0000</pubDate>
				<category><![CDATA[メールサーバー]]></category>
		<category><![CDATA[MIME]]></category>
		<category><![CDATA[Received]]></category>
		<category><![CDATA[エンベロープ]]></category>
		<category><![CDATA[メール]]></category>
		<category><![CDATA[メールヘッダー]]></category>
		<category><![CDATA[文字化け]]></category>
		<guid isPermaLink="false">https://www.seichan.org/blog/?p=6850</guid>

					<description><![CDATA[DATAで送られるメールの中身を読み解きます。ヘッダーとボディ（RFC 5322）、エンベロープとヘッダーという2組の差出人・宛先、主なヘッダー、Receivedヘッダーの読み方、MIMEの仕組みと符号化、日本語のメールと文字化け、国際化メールアドレス、メールソフトでのヘッダーの見方まで。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">「Toに自分が入っていないのに、メールが届いたんですけど…」<br>「取引先から『件名が文字化けしている』と言われました」</p>



<p class="wp-block-paragraph">どちらも、メールの<strong>中身の構造</strong>を知っていれば、すぐに説明できる現象です。前者は「エンベロープとヘッダー」の違い、後者は「日本語の符号化」の問題です。</p>



<p class="wp-block-paragraph">第2回では、SMTPのコマンドと応答を見ました。第3回では、DATAで送られる「<strong>中身</strong>」、つまり<strong>ヘッダーと本文の構造</strong>を見ていきます。メールのトラブル調査で最も役に立つ、<strong>ヘッダーの読み方</strong>も身につけましょう。</p>


<div class=".for-sp">
<div id="im-5078de7a65f140ac9d12a50b8ac9ee9c">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567719,asid:1946055,type:"banner",display:"inline",elementid:"im-5078de7a65f140ac9d12a50b8ac9ee9c"})</script>
</div>
</div>

<div class=".for-pc">
<!-- admax -->
<script src="https://adm.shinobi.jp/s/8ae3a18ff526e95e579f5814fddd88f6"></script>
<!-- admax -->
<!--
<div id="im-3931cf74888b4888ae5fb170df744749">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567718,asid:1946233,type:"banner",display:"inline",elementid:"im-3931cf74888b4888ae5fb170df744749"})</script>
</div>
-->
</div>



<hr class="wp-block-separator has-alpha-channel-opacity"/>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ヘッダーとボディ（RFC 5322）</a><ol><li><a href="#toc2" tabindex="0">メッセージの実例</a></li></ol></li><li><a href="#toc3" tabindex="0">エンベロープとヘッダー ― 封筒と便箋</a><ol><li><a href="#toc4" tabindex="0">エンベロープとヘッダーの対応</a></li></ol></li><li><a href="#toc5" tabindex="0">主なヘッダー</a><ol><li><a href="#toc6" tabindex="0">作成者が付けるもの</a></li><li><a href="#toc7" tabindex="0">配送・認証・配信で付くもの</a></li></ol></li><li><a href="#toc8" tabindex="0">Receivedヘッダーの読み方</a></li><li><a href="#toc9" tabindex="0">MIMEの仕組み</a><ol><li><a href="#toc10" tabindex="0">MIMEの実例と符号化の方式</a></li></ol></li><li><a href="#toc11" tabindex="0">日本語のメール</a></li><li><a href="#toc12" tabindex="0">国際化メールアドレス（SMTPUTF8）</a></li><li><a href="#toc13" tabindex="0">ヘッダーの見方（Outlook・Gmail・Thunderbird）</a></li><li><a href="#toc14" tabindex="0">考えてみよう</a></li><li><a href="#toc15" tabindex="0">まとめ</a></li><li><a href="#toc16" tabindex="0">連載「メール入門」全12回</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ヘッダーとボディ（RFC 5322）</span></h2>



<p class="wp-block-paragraph">DATAの後に送られる中身（メッセージ）の形は、SMTPとは別の規格<strong>RFC 5322</strong>が定めています。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/mail03-s028.png" alt="From・To・Subject・Date・Message-IDのヘッダーと空行とボディからなるメッセージと、メールソフトの画面には差出人・件名・日時だけが整えて表示され、Message-IDなどは出ないことと、行頭が空白なら前の行の続きになる折り返しを示す図"/></figure>



<ul class="wp-block-list">
<li>メッセージは<strong>ヘッダー</strong>と<strong>ボディ（本文）</strong>からなり、間を<strong>空行1つ</strong>で区切る</li>


<li>ヘッダーは「<strong>名前: 値</strong>」の行の並び。長い値は、次の行の先頭に空白を置いて続ける（<strong>折り返し</strong>）</li>


<li>必須のヘッダーは<strong>FromとDateだけ</strong>で、Message-IDも付けるべきとされている</li>


<li>1行はCRLFを除いて998文字以内（必須）、78文字以内（推奨）</li>


<li>RFC 5322はASCIIの文字しか扱わないため、日本語や添付ファイルは<strong>MIME</strong>で符号化して入れる</li>
</ul>



<p class="wp-block-paragraph">大事なのは、<strong>メールソフトの画面の件名や差出人は、ヘッダーを整えて表示したものにすぎない</strong>ということです。実際のヘッダーには、経路や認証の結果など、画面に出ない情報がたくさん含まれています。<strong>画面に出ない行こそ、調査の手がかり</strong>になります。</p>



<h3 class="wp-block-heading"><span id="toc2">メッセージの実例</span></h3>



<pre class="wp-block-code"><code>Return-Path: &lt;taro@example.jp&gt;
Received: from mail.example.jp (mail.example.jp [203.0.113.25])
        by mx1.example.com (Postfix) with ESMTPS id 9A7D12B4C1
        for &lt;hanako@example.com&gt;; Thu, 24 Sep 2026 10:15:38 +0900 (JST)
From: Taro Yamada &lt;taro@example.jp&gt;
To: Hanako Sato &lt;hanako@example.com&gt;
Subject: Meeting on Friday
Date: Thu, 24 Sep 2026 10:15:30 +0900
Message-ID: &lt;20260924011530.3E5B0C1D22@mail.example.jp&gt;
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

The meeting starts at 10:00 on Friday.</code></pre>



<ul class="wp-block-list">
<li>上の2つ（Return-Path・Received）は、<strong>配送の途中で受信側が付けた</strong>もの。Fromから下は、<strong>作成者のメールソフトが付けた</strong>もの</li>


<li>Receivedの2〜4行目は行頭が空白で、前の行の続き（折り返し）</li>


<li>空行の後が本文。日本語や添付を含む例は、この記事の後半で見る</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc3">エンベロープとヘッダー ― 封筒と便箋</span></h2>



<p class="wp-block-paragraph">冒頭の「Toに自分がいないのに届いた」の答えがここです。メールには、<strong>差出人と宛先が2組</strong>あります。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/mail03-s030.png" alt="便箋（ヘッダー）のFrom・To・Subjectは受取人が読むもので、封筒（エンベロープ）のMAIL FROM・RCPT TOはメールサーバー（郵便局）が見て配達に使うことと、メール配信サービスから送ると封筒のMAIL FROMと便箋のFromが食い違う例を示す図"/></figure>



<ul class="wp-block-list">
<li><strong>エンベロープ（封筒）</strong>：SMTPの<code>MAIL FROM</code>と<code>RCPT TO</code>で伝える差出人・宛先</li>


<li><strong>ヘッダー（便箋）</strong>：メッセージのヘッダーに書かれた<code>From:</code>・<code>To:</code>・<code>Cc:</code></li>
</ul>



<p class="wp-block-paragraph">郵便にたとえると、郵便局（メールサーバー）は<strong>封筒の宛名だけを見て配達</strong>し、中の便箋は読みません。便箋の「○○様」「△△より」は、受け取った人が読むためのものです。</p>



<p class="wp-block-paragraph">普段は両者が同じなので違いを意識しませんが、<strong>メーリングリスト、転送、メール配信サービス、そして迷惑メール</strong>では、両者が食い違います。Toに自分が無いメールや、Fromが社内のアドレスの外部からのメールが届くのは、このためです。<strong>配達を決めるのは封筒。便箋のFromは誰でも書けます</strong>。</p>



<p class="wp-block-paragraph">送信ドメイン認証では、SPFがエンベロープの差出人を、DMARCがヘッダーのFromを確かめます（第5回）。</p>



<h3 class="wp-block-heading"><span id="toc4">エンベロープとヘッダーの対応</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>エンベロープ（SMTP）</th><th>ヘッダー（メッセージ）</th><th>誰が見るか</th></tr></thead><tbody><tr><td>差出人</td><td>MAIL FROM:&lt;アドレス>（エンベロープ From）</td><td>From:（表示される差出人）</td><td>エンベロープはバウンスの返送先・SPF、ヘッダーは利用者・DMARC</td></tr><tr><td>宛先</td><td>RCPT TO:&lt;アドレス>（1件ずつ）</td><td>To:・Cc:（Bcc: は通常残らない）</td><td>配送はエンベロープだけで決まる</td></tr><tr><td>記録される場所</td><td>MTA のログ、Return-Path:、Received: の for &lt;…></td><td>メールソフトの画面</td><td>ログの from・to はエンベロープの値</td></tr><tr><td>空にできるか</td><td>MAIL FROM:&lt;>（バウンス等）</td><td>From: は必須</td><td></td></tr></tbody></table></figure>



<ul class="wp-block-list">
<li><strong>Bccの仕組み</strong>：メールソフトはTo・Cc・Bccのすべてを<code>RCPT TO</code>で伝え、ヘッダーからはBccの行を消して送る。だからBccの宛先にも届き、他の人には見えない</li>


<li>ただし、1宛先だけの配送では、受信側の<code>Received:</code>に<code>for &lt;Bccの宛先&gt;</code>が記録されることがある。Bccの本人のメールには、<strong>自分宛てと分かる痕跡</strong>が残る</li>


<li><strong>Return-Path</strong>は、最後に配送したサーバーがエンベロープFromを書き写したもの。ヘッダーのFromとは別物</li>
</ul>



<p class="wp-block-paragraph">「差出人は社内なのに、ログには別のアドレス」という食い違いは、配信サービスや転送では普通に起きます。調べるときは、<strong>ログ（封筒）とヘッダー（便箋）を並べて</strong>見ましょう。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc5">主なヘッダー</span></h2>



<h3 class="wp-block-heading"><span id="toc6">作成者が付けるもの</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>ヘッダー</th><th>意味</th><th>注意点</th></tr></thead><tbody><tr><td>From</td><td>作成者（表示される差出人）。名前 &lt;アドレス> の形</td><td>必須。自由に書けるので偽装できる。DMARC で確かめる（第5回）</td></tr><tr><td>Sender</td><td>実際に送った人（From と違うとき）</td><td>代理送信のとき。Outlook の「○○の代理」の表示の元</td></tr><tr><td>Reply-To</td><td>返信先</td><td>From と違う返信先はフィッシングにも使われる</td></tr><tr><td>To・Cc</td><td>宛先・写し</td><td>表示用で、配送には使われない</td></tr><tr><td>Subject</td><td>件名</td><td>日本語は RFC 2047 の形で符号化される</td></tr><tr><td>Date</td><td>作成した日時（時差付き）</td><td>必須。送信側の時計しだいで、ずれていることもある</td></tr><tr><td>Message-ID</td><td>1通ごとの一意な ID</td><td>ログや他社の調査との突き合わせに使う</td></tr><tr><td>In-Reply-To・References</td><td>返信元の Message-ID</td><td>スレッド表示に使う。消えると会話がばらばらになる</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">これらは<strong>すべて送信者の申告</strong>で、受信側は原則として中身を検証せずに受け取ります。<strong>画面の差出人が本物である保証はありません</strong>。なお、Dateの<code>+0900</code>は日本時間であることを示し、メールソフトは受信者の時間帯に直して表示します。</p>


<div class=".for-sp">
<div id="im-c929b2770f964f7f88505b9ee7500db9">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567719,asid:1946057,type:"banner",display:"inline",elementid:"im-c929b2770f964f7f88505b9ee7500db9"})</script>
</div>
</div>

<div class=".for-pc">
<!-- admax -->
<script src="https://adm.shinobi.jp/s/a1cf34f40c7d6f1acda2feeee1bc3a16"></script>
<!-- admax -->
<!--
<div id="im-3b5a2348efcc4b7a9435e1334f6172f2">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567718,asid:1946056,type:"banner",display:"inline",elementid:"im-3b5a2348efcc4b7a9435e1334f6172f2"})</script>
</div>
-->
</div>



<h3 class="wp-block-heading"><span id="toc7">配送・認証・配信で付くもの</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>ヘッダー</th><th>意味</th><th>注意点</th></tr></thead><tbody><tr><td>Return-Path</td><td>エンベロープ From の写し</td><td>最終配送のときに受信側が付ける</td></tr><tr><td>Received</td><td>経由したサーバーが先頭に追記する記録</td><td>下から上へ読む（次の節）</td></tr><tr><td>Authentication-Results</td><td>受信側が記録した SPF・DKIM・DMARC の結果</td><td>自組織のサーバーが付けたものだけ信用する（RFC 8601）</td></tr><tr><td>DKIM-Signature</td><td>送信ドメインの電子署名</td><td>d= が署名したドメイン、s= がセレクター（第5回）</td></tr><tr><td>ARC-Seal など</td><td>転送で認証の結果を引き継ぐ</td><td>第6回</td></tr><tr><td>List-Unsubscribe・List-Unsubscribe-Post</td><td>配信停止の方法、ワンクリックでの停止</td><td>RFC 2369・RFC 8058。大量送信者の要件（第7回）</td></tr><tr><td>X- で始まるもの</td><td>製品や組織が独自に付ける情報</td><td>迷惑メールの判定理由などが書かれることが多い</td></tr></tbody></table></figure>



<pre class="wp-block-code"><code>Authentication-Results: mx1.example.com;
       spf=pass smtp.mailfrom=example.jp;
       dkim=pass header.d=example.jp header.s=s1;
       dmarc=pass header.from=example.jp
List-Unsubscribe: &lt;https://news.example.jp/unsub?u=a1b2c3&gt;
List-Unsubscribe-Post: List-Unsubscribe=One-Click</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc8">Receivedヘッダーの読み方</span></h2>



<p class="wp-block-paragraph">「メールが遅れて届いた」ときに、どこで時間がかかったかを調べるのが<strong>Received</strong>です。</p>



<pre class="wp-block-code"><code>Received: from mx1.example.com (mx1.example.com [198.51.100.25])       ③
        by mbox.example.com (Postfix) with ESMTP id 4F1C22A0B3
        for &lt;hanako@example.com&gt;; Thu, 24 Sep 2026 10:15:40 +0900 (JST)
Received: from mail.example.jp (mail.example.jp [203.0.113.25])          ②
        by mx1.example.com (Postfix) with ESMTPS id 9A7D12B4C1
        for &lt;hanako@example.com&gt;; Thu, 24 Sep 2026 10:15:38 +0900 (JST)
Received: from pc01 (unknown [203.0.113.45])                           ①
        by mail.example.jp (Postfix) with ESMTPSA id 3E5B0C1D22
        for &lt;hanako@example.com&gt;; Thu, 24 Sep 2026 01:15:30 +0000 (UTC)</code></pre>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/mail03-x-received.png" alt="3つのReceivedヘッダーを下の①（送信者が投稿、ESMTPSA）から②（インターネット上の配送、ESMTPS）、③（受信側の中の受け渡し、ESMTP）へと下から上に読み、時差をそろえて比べると①→②が8秒、②→③が2秒であることと、信用できるのは自組織のサーバーが付けた行から上だけであることを示す図"/></figure>



<ul class="wp-block-list">
<li>各サーバーが<strong>先頭に追記する</strong>ので、<strong>下から上へ読む</strong>と①→②→③の順に経路をたどれる</li>


<li><code>from</code>は相手が名乗った名前（括弧内は逆引きの名前とIPアドレス）、<code>by</code>は記録した自分、<code>with</code>は方式、<code>id</code>はそのサーバーのキューID</li>


<li><code>ESMTPSA</code>はTLS＋認証、<code>ESMTPS</code>はTLS、<code>ESMTP</code>は暗号化なし（RFC 3848）。<code>unknown</code>は逆引きできなかったことを示す</li>


<li><strong>時刻は時差をそろえて比べる</strong>。①の01:15:30 UTCは日本時間の10:15:30で、①→②が8秒、②→③が2秒。<strong>大きく空いた区間が遅延の場所</strong></li>
</ul>



<p class="wp-block-paragraph">Receivedは誰でも書けるため、送信者が偽の行を下に足すことができます。<strong>信用できるのは、自組織のサーバーが付けた行から上だけ</strong>です。受信側から見て「最初に自分に渡した相手」のIPアドレス（②の203.0.113.25）が、確かな送信元です。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc9">MIMEの仕組み</span></h2>



<p class="wp-block-paragraph">日本語、HTML、添付ファイルは、<strong>MIME</strong>（RFC 2045〜2049）で扱います。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/mail03-s035.png" alt="multipart/mixedの中にmultipart/alternative（text/plainとmultipart/related）とapplication/pdfの添付が入れ子になり、boundaryで区切られ、alternativeはどれか1つを選び、relatedは組み合わせて1つ、mixedは並べることを示す図"/></figure>



<ul class="wp-block-list">
<li><code>MIME-Version: 1.0</code>と<code>Content-Type</code>（中身の種類）を宣言し、本文を<strong>部品（パート）</strong>に分けて入れる</li>


<li>部品は<code>boundary=</code>の文字列で区切り、<strong>入れ子</strong>にもできる</li>


<li>代表的な組み合わせ

<ul class="wp-block-list">
<li><strong>multipart/mixed</strong>：本文と添付を並べる</li>


<li><strong>multipart/alternative</strong>：同じ内容のテキスト版とHTML版から、受信側が選ぶ</li>


<li><strong>multipart/related</strong>：HTMLと埋め込み画像をまとめる</li>
</ul>
</li>


<li>添付かどうかは<code>Content-Disposition: attachment</code>で示し、日本語のファイル名はRFC 2231などで符号化する</li>
</ul>



<p class="wp-block-paragraph">メールソフトは入れ子をたどり、見せる部品と添付を選んでいます。</p>


<div class=".for-sp">
<div id="im-e200ff972f7b43fe9c8c2a7b60698c08">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567719,asid:1946060,type:"banner",display:"inline",elementid:"im-e200ff972f7b43fe9c8c2a7b60698c08"})</script>
</div>
</div>

<div class=".for-pc">
<!-- admax -->
<script src="https://adm.shinobi.jp/s/b379fcf4fc1a53eab29cb4ffbda7f14f"></script>
<!-- admax -->
<!--
<div id="im-4f0e910e1dca4503a73e8d9a2678879f">
  <script async src="https://imp-adedge.i-mobile.co.jp/script/v1/spot.js?20220104"></script>
  <script>(window.adsbyimobile=window.adsbyimobile||[]).push({pid:81546,mid:567718,asid:1946059,type:"banner",display:"inline",elementid:"im-4f0e910e1dca4503a73e8d9a2678879f"})</script>
</div>
-->
</div>



<h3 class="wp-block-heading"><span id="toc10">MIMEの実例と符号化の方式</span></h3>



<pre class="wp-block-code"><code>MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=&quot;b1_Xy7Zq&quot;

--b1_Xy7Zq
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: base64

5pys5pel44Gu5Lya6K2w6LOH5paZ44KS44GK6YCB44KK44GX44G+44GZ44CC
--b1_Xy7Zq
Content-Type: application/pdf
Content-Disposition: attachment; filename*=UTF-8&#x27;&#x27;%E4%BC%9A%E8%AD%B0%E8%B3%87%E6%96%99.pdf
Content-Transfer-Encoding: base64

JVBERi0xLjcK…（以下省略）
--b1_Xy7Zq--</code></pre>



<p class="wp-block-paragraph">部品は<code>--boundary</code>で始まり、最後は<code>--boundary--</code>で閉じます。本文は「本日の会議資料をお送りします。」、添付のファイル名は「会議資料.pdf」を符号化したものです。</p>



<ul class="wp-block-list">
<li><strong>base64</strong>：3バイトを4文字に変換する。<strong>大きさは約1.37倍</strong>（改行込み）。添付や日本語の本文に使う</li>


<li><strong>quoted-printable</strong>：ASCIIはそのまま、それ以外を<code>=E3=81=93</code>のように書く。英語が中心の本文向け</li>


<li><strong>7bit・8bit</strong>：変換しない。8bitは相手が8BITMIMEに対応しているときだけ使える（第2回）</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc11">日本語のメール</span></h2>



<p class="wp-block-paragraph">冒頭の「件名が文字化け」の話です。ヘッダーの日本語は、次のように符号化して入れます。</p>



<pre class="wp-block-code"><code>Subject: =?UTF-8?B?5Lya6K2w44Gu5pel56iL44Gr44Gk44GE44Gm?=
Subject: =?ISO-2022-JP?B?GyRCMnE1RCRORnxEeCRLJEQkJCRGGyhC?=

$ echo &#x27;5Lya6K2w44Gu5pel56iL44Gr44Gk44GE44Gm&#x27; | base64 -d
会議の日程について
$ echo &#x27;GyRCMnE1RCRORnxEeCRLJEQkJCRGGyhC&#x27; | base64 -d | iconv -f ISO-2022-JP -t UTF-8
会議の日程について

PS&gt; [Text.Encoding]::UTF8.GetString([Convert]::FromBase64String(&#x27;5Lya6K2w44Gu5pel56iL44Gr44Gk44GE44Gm&#x27;))
会議の日程について</code></pre>



<ul class="wp-block-list">
<li>ヘッダーの日本語は、RFC 2047の<code>=?文字コード?B（base64）またはQ?符号化した文字?=</code>の形で入れる。上の2行はどちらも「会議の日程について」</li>


<li>日本のメールは長く<strong>ISO-2022-JP</strong>（JISコード、RFC 1468）が標準だったが、今はGmailなど多くのサービスやメールソフトが<strong>UTF-8</strong>で送る</li>
</ul>



<p class="wp-block-paragraph"><strong>文字化けの主な原因</strong>は次の3つです。</p>



<ol class="wp-block-list">
<li><strong>宣言した文字コードと中身の食い違い</strong></li>


<li><strong>ISO-2022-JPに無い文字</strong>（①、㈱、半角カナなど）の混入</li>


<li><strong>符号化せずにヘッダーへ生の日本語を入れる</strong>送信側の実装</li>
</ol>



<p class="wp-block-paragraph">Linuxでは<code>base64 -d</code>と<code>iconv</code>、WindowsではPowerShellの.NETのメソッドで、中身を確かめられます（Windows PowerShell 5.1では、コンソールの設定により日本語が化けて見えることがあります）。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc12">国際化メールアドレス（SMTPUTF8）</span></h2>



<p class="wp-block-paragraph"><code>山田@例え.jp</code>のように、アドレスに日本語などを使えるようにするのが、<strong>国際化メールアドレス（EAI）</strong>です。</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://www.seichan.org/blog/wp-content/uploads/2026/09/mail03-s038.png" alt="山田@例え.jpのドメイン部分はPunycodeで運べるが、ローカル部（@より左）が日本語のときは経路のすべてがSMTPUTF8に対応していないと届かず、途中の中継サーバーが非対応なら送信側がエラーにして送信者へ返すことを示す図"/></figure>



<ul class="wp-block-list">
<li>規格はRFC 6530〜6533で、SMTPでは<strong>SMTPUTF8拡張</strong>（RFC 6531）を使う。送信側は相手のEHLOの応答にSMTPUTF8があることを確かめ、<code>MAIL FROM:&lt;…&gt; SMTPUTF8</code>と宣言して送る</li>


<li><strong>ドメイン部分だけ</strong>なら、Punycode（<code>xn--</code>で始まる形）で従来どおり運べる</li>


<li><strong>@より左にASCII以外の文字があると、経路のすべてのサーバーが対応していなければエラーになる</strong></li>


<li>Postfixは3.0から、Gmailは2014年、Microsoft 365は2018年から、こうしたアドレスとの送受信に対応している</li>
</ul>



<p class="wp-block-paragraph">業務用のアドレスにはまだ勧めにくいものの、<strong>受け付ける側のシステムは弾かないように作ります</strong>。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc13">ヘッダーの見方（Outlook・Gmail・Thunderbird）</span></h2>



<figure class="wp-block-table"><table><thead><tr><th>メールソフト</th><th>手順</th><th>補足</th></tr></thead><tbody><tr><td>従来の Outlook（Windows）</td><td>メールをダブルクリックで開く →「ファイル」→「プロパティ」→「インターネット ヘッダー」</td><td>欄が狭いので、全選択してコピーし、メモ帳に貼って読む</td></tr><tr><td>新しい Outlook・Outlook on the web</td><td>メールの「その他のアクション」（…）→「表示」→「メッセージの詳細を表示する」</td><td>同じ画面からコピーできる</td></tr><tr><td>Gmail（パソコン）</td><td>返信アイコンの横の「その他」→「メッセージのソースを表示」</td><td>「クリップボードにコピー」でヘッダーごとコピーできる</td></tr><tr><td>Thunderbird</td><td>「表示」→「メッセージのソース」（Ctrl+U）</td><td>「表示」→「ヘッダー」→「すべて」でも見られる</td></tr></tbody></table></figure>



<ul class="wp-block-list">
<li>利用者から調査を頼まれたら、<strong>転送ではなくヘッダーのコピーをもらう</strong>。普通に転送すると元のヘッダーが失われる（従来のOutlookなら「添付ファイルとして転送」なら残る）</li>


<li>まず<strong>Authentication-ResultsとReceived</strong>を見る。迷惑メール扱いの理由は、<code>X-</code>で始まる製品独自のヘッダー（Microsoft 365の<code>X-Forefront-Antispam-Report</code>など）にあることが多い</li>
</ul>



<p class="wp-block-paragraph">ヘッダーを解析するWebのツールもありますが、ヘッダーには社内のサーバー名やIPアドレス、利用者のアドレスが含まれます。<strong>外部のサイトに貼り付けてよいかは、社内のルールに従ってください</strong>。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc14">考えてみよう</span></h2>



<ol class="wp-block-list">
<li>最近受け取ったメールのヘッダーを表示して、Receivedを下から上へたどってください。何台のサーバーを経由し、どの区間に時間がかかっていますか。</li>


<li>同じメールのReturn-PathとFromを比べてください。違っている場合、それはなぜだと思いますか。Authentication-Resultsの結果はどうなっていますか。</li>


<li>取引先から「件名が文字化けしている」と言われました。どのヘッダーを見て、どんな原因を疑いますか。</li>
</ol>



<p class="wp-block-paragraph"><strong>ヒント</strong>：この記事の「エンベロープとヘッダーの対応」「Receivedヘッダーの読み方」「文字化けの主な原因」が手がかりです。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc15">まとめ</span></h2>



<ul class="wp-block-list">
<li>メッセージは<strong>ヘッダー＋空行＋ボディ</strong>。画面の件名や差出人は、ヘッダーを整えて見せているだけ</li>


<li>差出人・宛先は<strong>封筒（エンベロープ）と便箋（ヘッダー）</strong>の2組。<strong>配達を決めるのは封筒</strong></li>


<li>ヘッダーは<strong>すべて送信者の申告</strong>。画面の差出人が本物とは限らない</li>


<li>Receivedは<strong>下から上へ</strong>。時差をそろえて比べ、<strong>自組織が付けた行から上だけ</strong>信用する</li>


<li>日本語・HTML・添付は<strong>MIME</strong>。文字化けは<strong>宣言と中身の食い違い</strong>などが原因</li>


<li>調査を頼まれたら、転送ではなく<strong>ヘッダーのコピー</strong>をもらう</li>
</ul>



<p class="wp-block-paragraph">次回は、SMTPの通信を守る<strong>ポートと暗号化</strong>、送信者の認証（<strong>SMTP AUTHとOAuth 2.0</strong>）を扱います。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc16">連載「メール入門」全12回</span></h2>



<ol class="wp-block-list">
<li><a href="https://www.seichan.org/2026/10/mail-01-overview.html" target="_blank">メールが届くまで</a></li>


<li><a href="https://www.seichan.org/2026/10/mail-02-smtp-dialogue.html" target="_blank">SMTPのやり取り</a></li>


<li><strong>メッセージの構造（この記事）</strong></li>


<li><a href="https://www.seichan.org/2026/10/mail-04-ports-tls-auth.html" target="_blank">ポートと暗号化・認証</a></li>


<li>送信ドメイン認証 前編</li>


<li>送信ドメイン認証 後編</li>


<li>迷惑メール対策と配信</li>


<li>MTAの運用</li>


<li>コマンドで調べる</li>


<li>クラウドと現代のメール</li>


<li>メールのトラブルシュート</li>


<li>メールの設計演習</li>
</ol>
]]></content:encoded>
					
					<wfw:commentRss>https://www.seichan.org/2026/10/mail-03-message.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
