メインコンテンツにスキップ

メールスレッド

inboxの会話でのメールスレッドの仕組み。

対応者:Beth Priddy

メールスレッドでは、関連するすべてのメール返信が1つの会話にまとめられます。これにより、チームメンバーは複数の会話に分散せずに、1か所でメールスレッドの文脈を共有できます。メールスレッドはまた、メールスレッドがworkflowsを何度も通過したり、適切な文脈を持たない別のチームメンバーに割り当てられるのを防ぎます。

メールを既存の会話にスレッドするかどうかを判断するために、特定の情報を使用します。すべてのメールにはヘッダーと呼ばれるメタデータが含まれており、メールの特定のヘッダーを使ってスレッドのタイミングと方法を決定します。

  • Message-ID: 送信されるすべてのメールには一意の識別子があり、それがMessage-IDヘッダーに入ります。通常、メールアドレスのような形式で、例:<1234567890@example.com>。このIDはメールプロバイダーが生成します。

  • In-Reply-To: メールに返信すると、通常、返信先のメールのMessage-IDがIn-Reply-Toヘッダーに入ります。

  • References: In-Reply-Toヘッダーに似ており、返信されたメールのMessage-IDが含まれますが、スレッド内の以前のメールのMessage-IDの一部または全部が含まれることもあります。

Intercomで受信したメールのこれらのヘッダーは、メッセージ左下のメールアイコンにカーソルを合わせ、「View raw email」をクリックすると確認できます。

メールがworkspaceに届くと、そのReferencesとIn-Reply-Toヘッダーを取得します。これらのヘッダーで参照されているMessage-IDを含むメールがworkspace内の会話にあれば、新しいメールをその会話にスレッドします。

重要: IntercomはMessage-IDなどのヘッダー情報に基づいて会話のスレッドを判断します。

各送信メールには必ず一意のMessage-IDが必要です。Message-IDを使い回すと、複数のメールが1つの会話に統合されてしまいます。

外部送信者

場合によっては、これまでのメールに含まれていなかった‘external sender’からのメールが、In-Reply-ToまたはReferencesヘッダーで会話のメールを参照していると、そのメールが会話にスレッドされます。

これは、会話の参加者が誰かをBccに入れたり、会話のメールを転送した場合に起こります。その人が返信し、ToまたはCcにworkspaceのメールアドレスや転送先アドレスが含まれていれば、その返信は同じ会話に追加されます。これにより、同じメールスレッドの文脈を1つの会話で維持できます。

その返信には、以前に会話に見られなかった人であり、他の参加者からCCされていないことを知らせる警告バナーが表示されます。

送信者は会話の参加者として追加されません。チームメンバーは、今後の返信に含めるために送信者を参加者として追加することができます。

なぜメール返信が既存の会話にスレッドされないのか?

一部のメールクライアントは、Intercomが返信を会話にスレッドするために使うヘッダーの一部または全部を削除します。これが起こると、スレッドすべき会話を特定できなくなります。メールクライアントやサーバーには多様な機能や挙動があり、これが原因となることがあります。

例えば、Zendeskはスレッドヘッダーを変更することがあり、会話の連続性を保つのが難しくなります。さらに、Google GroupsのDMARCポリシーによりヘッダーが書き換えられ、スレッドが複雑化します。

Google Groupsのような転送サービスは、DMARCポリシーの影響で送信者情報が変わり、スレッドの問題を引き起こすことがあります。これらの問題を軽減するには、GoogleのRouting SetupやAdvanced Email Routingの利用を検討してください。

もう1つのケースは、Messengerで始まった会話に後からメールで参加者が追加された場合です。Messengerのユーザーは返信時にエイリアスメールアドレス(例:alice.jones.onchat@examply.intercom-mail.com)が付与されます。会話参加者が返信時にこのメールアドレスをToやCcから外すと、その返信は新しい会話に分割されます。

予期せずメールが会話にスレッドされたのはなぜ?

Usersは会話のメールを他の人に転送したり、Bccで返信に他者を含めることがあります。その人たちが返信し、workspaceや転送先のメールアドレスを宛先に含めると、ReferencesやIn-Reply-Toヘッダーが存在し、返信が会話にスレッドされます。詳細はInboxでのグループ会話管理をご覧ください。

同じMessage-IDのメールが複数届くと、Intercomはそれらを同じスレッドの一部と解釈し、既存の会話を再開します。送信者アドレスや宛先Inboxが異なっていても同様です。

この場合、送信メールサーバーの設定を更新し、異なる会話に一意のMessage-IDを割り当てる必要があります。

そうすれば、Intercomは期待通りに別々の会話を作成し、workflowsも正しくルーティングされます。

また、一部のメールクライアントは件名が大きく変わると新しいスレッドに分割しますが、Intercomではそうなりません。

スレッドの信頼性向上には、メールヘッダーに依存しないIntercom Messengerの利用を検討してください。

なぜ私のメールクライアントでメールがスレッドされないのか?

メールクライアントやサーバーには多様な機能や挙動があり、これが原因となることがあります。スレッドの有効・無効設定がある場合は確認してください。メールクライアントは、スレッドに必要なヘッダーの有無や件名・宛先の変化で会話を分割する挙動が異なります。

旧挙動(2023年7月12日以前の会話)

以前は、メール会話でReplyToアドレスを会話ごとに一意のアドレス(例:n+u_xxxx@examply.intercom-mail.com)に設定していました。

現在は、会話参加者の実際のメールアドレスから送受信でき、各参加者に直接返信できます。これにより、誰と話しているか明確になり、送信先の調整(送信しない人の除外やCCの追加)が可能です。

注意: iOSユーザーが通知から直接メールに返信すると、Apple Mailはスレッド履歴なしの新規メールを送信します。Intercomは元の会話にリンクできず、新しい会話を開きます。

対策は、通知ではなくinboxのメールから直接返信することです。

旧挙動

新挙動

受信者が変わった場合

ユーザーがメール会話に返信し、元のメールの受信者の一部を除外すると、その返信は新しい会話に分割されます。

例:Aliceがsupport@example.com(Intercom)にメールを送り、BobとCarolをCC。BobはAliceとsupport@example.comに返信しますが、CarolをCCから外します。BobのメールはIntercomで別の会話を作成します。

会話の一部の参加者にのみ送られた返信メールは、新しい会話を開始せず、その会話に追加されます。

例:Aliceがsupport@example.com(Intercom)にメールを送り、BobとCarolをCC。BobはAliceとsupport@example.comに返信しますが、CarolをCCから外します。BobのメールはIntercomでAliceの会話にスレッドされます。Carolは会話の参加者ですが、Bobのメールは受け取りません。

メールヘッダーと返信

グループ会話で送信されるメールにはReplyToヘッダーに‘n+u’メールアドレスが含まれます。ユーザーが返信すると、そのアドレスに返信し、その返信はInboxの会話に追加され、チームメンバーが確認できます。その後、メッセージは会話の全参加者に個別に送信されます。

ReplyToヘッダーでのN+uアドレスの使用は廃止されました。代わりに、チームメンバーがグループ会話で返信すると、そのメッセージは会話の全参加者に1通のメールで送信され、ToとCcヘッダーに参加者のメールアドレスが含まれます。Usersが返信すると、各参加者に直接返信し、Intercomの送信メールアドレス(例:bob.oneill@examply.intercom-mail.com)も含まれます。これにより、Usersの返信は指定した受信者のみに届きます。

Bccまたは‘unknown’の会話参加者

会話の参加者がメールに返信し、会話の参加者でない人をBccに入れた場合、そのBccされた人が返信すると、その返信は新しい会話に分割されます。

他にも、チームメンバーが複数のメールアドレスを使い分け、あるアドレスで会話を始めて別のアドレスに切り替えた場合、その返信も新しい会話に分割されます。

Bccされた人(または他の‘unknown’送信者)からの返信は同じ会話にスレッドされます。その返信には、以前に会話に見られなかった人であり、他の参加者からCCされていないことを知らせる警告バナーが表示されます。

送信者は会話の参加者として追加されます。チームメンバーは、その人を会話から除外して返信を見せないようにすることもできます。

Messengerに1人の参加者がいるグループ会話

Messengerの会話もグループ会話になることがあります。Messengerの参加者は1人だけが会話にアクセスでき、他の参加者はメールでのみ返信を受け取ります。

MessengerのチームメンバーがMessengerで返信すると、全参加者に届きます。

顧客が返信すると、n+uアドレスに返信するため、その返信はMessengerユーザーが見られるMessengerに追加され、他のメール参加者に転送されます。

Messengerの会話はグループ会話になることがあり、Messengerの参加者は1人だけが会話にアクセスでき、他の参加者はメールでのみ返信を受け取ります。

Messengerユーザーが返信すると、全参加者にメッセージが届きますが、メールはこのようになります:sam.murray.onchat@examply.intercom-mail.com。これはMessengerのチームメンバーを表すためです。メールの上部には、返信するとMessengerユーザーに送信される旨の案内も含まれます。

会話履歴

顧客はEmail設定で、会話の全履歴を各メールの末尾に追加するかどうかを設定できます。

メールでの会話履歴送信は有効または無効にできます。

APIからのユーザー返信

APIを使ってUsersに代わりメール返信を会話に追加できます。これにより、会話の全参加者に返信が送信されます。

挙動は変わりません。

こちらの回答で解決しましたか?