この記事では、執筆時点で beta バージョンでのみ利用可能な機能を紹介しています。本番環境での利用はサポートされませんので注意してください。また、公開情報にない利用方法を紹介しています。ご利用は自己責任でお願いします。
Microsoft Graph では beta バージョンで @メンションを扱うことができます。@メンションを使用することで、Outlook や Outlook on the web での @メンションと同じようなメールを送信することができます。
/sendMail を使用してメールを送信する場合、以下のようなリクエストを送信することで @メンション付きのメールが送信できます。
POST https://graph.microsoft.com/beta/me/sendMail
{
"Message": {
"subject": "件名",
"body": {
"contentType": "html",
"content": "<html><body><a id=\"OWAAM で始まる一意な文字列\" href=\"mailto:メンション先ユーザーのメール アドレス\">@メンション時に表示されるテキスト</a></body></html>"
},
"toRecipients":[
{
"emailAddress":{
"address":"宛先のメール アドレス"
}
}
],
"mentions":[
{
"mentioned":{
"address":"メンション先のユーザーのメール アドレス"
}
}
]
}
}
実際のリクエストとしては以下のようになります。
{
"Message": {
"subject": "Test",
"body": {
"contentType": "html",
"content": "<html><body><a id=\"OWAAM1\" href=\"mailto:user01@contoso.com\">@User01</a></body></html>"
},
"toRecipients":[
{
"emailAddress":{
"address":"user01@contoso.com"
}
}
],
"mentions":[
{
"mentioned":{
"address":"user01@contoso.com"
}
}
]
}
}
受信したメールは以下のように表示されます。
なお body を特に指定しなくても mentions の指定をすれば、Ootw などで「メンションされているメール」と認識はされます。ただし mentions だけを指定しても「メンションされているメール」になるだけで、メール本文には @メンションが含まれていない状態になります。
逆に body に a タグで id が OWAAM で始まるものを指定し、href に mailto で始まるものを指定しておけば、「メンション風」な見た目で Ootw などに表示されます。ただし a タグの指定だけをしても「メンション風」な見た目で表示されるだけで、内部的に「メンションされているメール」とはなりません。
つまり mentions と a タグを両方指定して、はじめて Ootw などで @メンション付きメールを送信したときと同じようなメールを送信できます。
なお a タグの内容と指定するテキストは「@ユーザー名」である必要はありません。
そのため、例えば「@User01 さん見てー!」と指定すれば、以下のような @メンション付きのメールを送信することができます。