何らかの理由で、「代理送信」機能が失敗しています。Graph は常にErrorSendAsDeniedを返します(From
とSender
フィールドの値が異なる場合)。
アカウントは、相互に代わって送信するための正しい構成を持っていることが確認されます。3日以上費やした後、私はそれを機能させることができませんでした.
認証中に次の権限が要求されます。
openid
email
profile
offline_access
User.Read
Mail.Read
Mail.ReadWrite
Mail.Read.Shared
Mail.ReadWrite.Shared
Mail.Send
Mail.Send.Shared
以下の例では、ユーザー Gregory Test が Sem Test に代わってメッセージを送信したいと考えています。電子メールの送信には有効な認証アクセス トークン (Gregory Test によって認証されたもの) が使用されますが、電子メールの配信は常に失敗します。
サンプル送信された JSON メッセージは次のとおりです。
{
"Message":{
"Subject":"Trying to send message on behalf",
"Body":{
"ContentType":"html",
"Content":" email html content "
},
"From":{
"EmailAddress":{
"Address":"sem.test@contoso.com",
"Name":"Sem Test"
}
},
"Sender":{
"EmailAddress":{
"Address":"gregory.test@contoso.com",
"Name":"Gregory Test"
}
},
"ToRecipients":[
{
"EmailAddress":{
"Address":"semtestestestes@gmail.com",
"Name":"Sem Shehovtsov"
}
}
]
}
}
Sender
とFrom
が同じ値に設定されていれば、正常に動作しています。メールボックスは、他のSender
ユーザーに代わってメッセージを送信できるように構成されています。
何か案は?