Exchange Online を利用していて、Outlook はブラウザ版のものを愛用しているのですが、そこに届いたメールを直接ブラウザで表示するための URL の形式はどうなっているのかなと思ったので調べてみました。(ディープリンクとか言うみたいです)

このあたりが分かれば、Power Automate だとかからの連携もいろいろと作れるんじゃないかなと思っています。詳しくは後述しますね。

それではさっそく見ていきましょう。

自身のユーザーメールボックス

自身のユーザーメールボックスの場合の URL の形式は次のようでした。

https://outlook.office.com/mail/deeplink/read/<エンコードされたメッセージID>

前半部は固定です。そして、どのメールを表示するかを決めているのが「メッセージ ID」ですが、ディープリンクで利用するためにはエンコードしておく必要がありました。

エンコードされたというのは、たとえばメッセージ ID が次のものであったとき

AAMkADBlZTIzMDZmLWYxZGUtNDk2Yy1hNGZmLTJiMGQ2OWNlZmUwMQBGAAAAAAClhkwF/vC8RbJfCBFEYYHgBwAh9aELGYtkQIUuZoss5SKtAAAAAAEMAAAh9aELGYtkQIUuZoss5SKtAAGOl0ToAAA=

エンコードされたメッセージ ID というのは次のようになります。

AAMkADBlZTIzMDZmLWYxZGUtNDk2Yy1hNGZmLTJiMGQ2OWNlZmUwMQBGAAAAAAClhkwF%2FvC8RbJfCBFEYYHgBwAh9aELGYtkQIUuZoss5SKtAAAAAAEMAAAh9aELGYtkQIUuZoss5SKtAAGOl0ToAAA%3D

なにが違うんだろうと思うかもしれませんが、「/」が「%2F」になり、「=」が「%3D」になっています。

共有メールボックス

共有メールボックスは次のような URL の形式になりました。

https://outlook.office.com/mail/<共有メールボックスのメールアドレス>/deeplink/read/<エンコードされたメッセージ ID>

メッセージ ID に加えて、共有メールボックスのメールアドレスを知っていないと作成できない URL になっているようです。

Microsoft 365(Office 365)グループメールボックス

Outlook からグループを作成したり、Microsoft Teams でチームを作成すると裏側に作成されているメールボックスです。この場合は次の URL の形式になりました。

https://outlook.office.com/mail/deeplink/read/group/<グループメールアドレスの @ より後ろの部分>/<グループメールアドレスの @ より前の部分>/<エンコードされたメッセージID>

メッセージ ID に加えて、グループのメールアドレスを知っていないと作成できない URL になっているようです。

応用編:Power Automate を利用して、共有メールボックスにメールが届いた通知を Microsoft Teams のチームに投稿する

それでは応用編です。今回は共有メールボックスにメールが届いたときに、関係するチームに通知を Power Automate を利用して投稿してみましょう。そして、その通知の中にメールを直接開くことができるリンクを挿入してみます。

次のようなフローを作成しました。ヘルプデスク用の共有メールボックスにメールが届いたらというイメージです。

チームへ投稿するときにいろいろと書いていますが、重要なのはメッセージ ID をエンコードするところです。そのため encodeUriComponent 関数を利用しています。

<p style="margin:1.6em 0">
	<a href="https://outlook.office.com/mail/helpdesk@contoso.com/deeplink/read/@{encodeUriComponent(triggerOutputs()?['body/id'])}" style="border:1px solid #252423;border-radius:4px;padding:0.8em">メールを開く</a>
</p>
<p>&nbsp;</p>
<p>
	@{triggerOutputs()?['body/bodyPreview']}
</p>

このようなフローを作成しておくと、ヘルプデスクにメールが届いたときには次のようにチームに投稿されます。

「メールを開く」をクリックすることでブラウザでメールが開き、内容を確認することができます。

これだけでも良い具合に連携している感じになりました。もちろん、共有メールボックスに対してアクセス許可がないユーザーは、ブラウザでメールを開けませんので注意してください。

さいごに

まだまだメールを利用することは多くあると思いますが、こうした Outlook on the Web の裏技ディープリンクを知っておくと、いろいろと応用が利くことがあるかもしれませんね。

ほかにも新規メール作成画面を開くためのディープリンクを以前に投稿しているので、ご興味がありましたら合わせてご覧ください。

新しい Outlook on the Web の新規メール作成画面を開くハイパーリンク
https://idea.tostring.jp/?p=4061

何かの役に立てば幸いです!