Skip to content

Commit 7c4037b

Browse files
committed
Gehirn MTA: Reply-To, Message-ID, In-Reply-To, References ヘッダーフィールドについて記載
1 parent 42ac39d commit 7c4037b

2 files changed

Lines changed: 61 additions & 1 deletion

File tree

source/mta/index.rst

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,17 @@ HTTP リクエスト
5353
.arguments.sender string メール送信者(|mailbox|_ 形式)
5454

5555
:ref:`sender-and-from` もあわせて参照してください。
56+
.arguments.reply_to []string このメールへの返信を受け取る返信先のリスト ( |mailbox-list|_ 形式)
5657
.arguments.to []string :mailheader:`To` 送信先のリスト( |mailbox-list|_ 形式)
5758
.arguments.cc []string :mailheader:`Cc` 送信先のリスト( |mailbox-list|_ 形式)
5859
.arguments.bcc []string :mailheader:`Bcc` 送信先のリスト( |mailbox-list|_ 形式)
60+
.arguments.message_id string このメールを一意に特定する ID
61+
.arguments.in_reply_to []string 返信先のメールの :mailheader:`Message-ID`
62+
63+
:ref:`threading` もあわせて参照してください。
64+
.arguments.references []string このメールに関連するメール (スレッド) の :mailheader:`Message-ID`
65+
66+
:ref:`threading` もあわせて参照してください。
5967
.arguments.subject string メールサブジェクト (UTF-8)
6068
.arguments.content_type string メール本文の :mailheader:`Content-Type`
6169

@@ -94,7 +102,7 @@ HTTP リクエスト
94102
.. |mailbox| replace:: RFC 5322 mailbox
95103
.. _mailbox: https://datatracker.ietf.org/doc/html/rfc5322.html#section-3.4
96104

97-
.. |mailbox-list| replace:: RFC 5322 mailbox
105+
.. |mailbox-list| replace:: RFC 5322 mailbox-list
98106
.. _mailbox-list: https://datatracker.ietf.org/doc/html/rfc5322.html#section-3.4
99107

100108
.. |optional-field| replace:: RFC 5322 optional-field
@@ -146,3 +154,43 @@ Sender と From について
146154
このため、 From に複数のメール作成者を指定した場合は、 DMARC の設定内容によってはメール送信先で受け取りを拒否されたり検疫されたりする場合があります。
147155

148156
したがって、現在では From に単一のメール作成者を指定することを推奨します。
157+
158+
.. _threading:
159+
160+
メールスレッドの指定
161+
--------------------
162+
163+
:mailheader:`In-Reply-To` フィールドと :mailheader:`References` フィールドはともに関連するメール (スレッド) を参照するためのフィールドですが、使用方法が異なります。
164+
165+
ここで簡単にご説明いたします。より詳しくは :rfc:`RFC 5322 <5322#section-3.6.4>` を参照してください。
166+
167+
In-Reply-To
168+
~~~~~~~~~~~
169+
170+
:mailheader:`In-Reply-To` フィールドには、そのメールが返信する直接の親にあたるメールの :mailheader:`Message-ID` を指定します。親が :mailheader:`Message-ID` を持たない場合は指定しません。
171+
172+
References
173+
~~~~~~~~~~
174+
175+
一方、 :mailheader:`References` フィールドには親に加え祖先 (親の親、さらにその親) にあたるメールの :mailheader:`Message-ID` を指定します。
176+
177+
:mailheader:`References` フィールドの値は、標準的には以下のようにして組み立てます。
178+
179+
1. 値を空文字列で初期化します
180+
2. 以下のいずれかの手順により、祖先を指定します
181+
182+
- 親メールが :mailheader:`References` を含む場合、その値を使用します
183+
- 親メールが :mailheader:`References` を含まずに :mailheader:`In-Reply-To` を含み、かつその内容が単独の親を参照する場合、その値を使用します
184+
- これ以外の場合はなにもしません
185+
186+
3. 親メールが :mailheader:`Message-ID` を含む場合、その値を追加します
187+
188+
この手順を返信を作成するたびに繰り返すことで、すべての関連するメールを :mailheader:`References` フィールドで参照することができます。
189+
190+
Gmail におけるスレッド
191+
~~~~~~~~~~~~~~~~~~~~~~
192+
193+
Gmail では送信者や受信者、件名に応じたメールのスレッド化が行われますが、:mailheader:`References` フィールドにより明示的にスレッドを制御することができます。
194+
Gehirn MTA から送信するメールが正しくスレッド化されたり、反対に同じ件名でもスレッド化を解除したいときには :mailheader:`References` フィールドをご指定ください。
195+
196+
詳しくは `Threading changes in Gmail conversation view <https://workspaceupdates.googleblog.com/2019/03/threading-changes-in-gmail-conversation-view.html>`_ をご参照ください。

source/mta/send_message.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,21 @@
3636
"type": "string",
3737
"format": "email"
3838
},
39+
"reply_to": { "$ref": "#/definitions/mailbox-list" },
3940
"to": { "$ref": "#/definitions/mailbox-list" },
4041
"cc": { "$ref": "#/definitions/mailbox-list" },
4142
"bcc": { "$ref": "#/definitions/mailbox-list" },
43+
"message_id": {
44+
"type": "string"
45+
},
46+
"in_reply_to": {
47+
"type": "array",
48+
"items": { "type": "string" }
49+
},
50+
"references": {
51+
"type": "array",
52+
"items": { "type": "string" }
53+
},
4254
"subject": {
4355
"type": "string"
4456
},

0 commit comments

Comments
 (0)