Microsoft graph api 无法代表另一个O365 outlook帐户发送电子邮件
出于某种原因,“代表发送”功能对我来说失败了。图形始终返回一个错误sendasdeigned(当来自Microsoft graph api 无法代表另一个O365 outlook帐户发送电子邮件,microsoft-graph-api,microsoft-graph-mail,Microsoft Graph Api,Microsoft Graph Mail,出于某种原因,“代表发送”功能对我来说失败了。图形始终返回一个错误sendasdeigned(当来自的和发送方字段值不同时) 验证这些帐户是否具有代表彼此发送的正确配置。我花了三天多的时间才把它修好 身份验证期间请求以下权限: openid 电子邮件 profile 离线访问 User.Read Mail.Read Mail.ReadWrite Mail.Read.Shared Mail.ReadWrite.Shared Mail.Send Mail.Send.Shared 对于下面的示例,
的和发送方字段值不同时)
验证这些帐户是否具有代表彼此发送的正确配置。我花了三天多的时间才把它修好
身份验证期间请求以下权限:
openid
电子邮件
profile
离线访问
User.Read
Mail.Read
Mail.ReadWrite
Mail.Read.Shared
Mail.ReadWrite.Shared
Mail.Send
Mail.Send.Shared
对于下面的示例,用户Gregory Test希望代表Sem Test发送消息。有效的授权访问令牌(经Gregory Test验证)用于发送电子邮件,但电子邮件传递始终失败
提交的JSON消息示例如下:
{
“信息”:{
“主题”:“尝试代表发送邮件”,
“正文”:{
“内容类型”:“html”,
“内容”:“电子邮件html内容”
},
“发件人”:{
“电子邮件地址”:{
“地址”:“扫描电镜”。test@contoso.com",
“名称”:“Sem测试”
}
},
“发件人”:{
“电子邮件地址”:{
“地址”:“格雷戈里。test@contoso.com",
“名称”:“格雷戈里测试”
}
},
“收件人”:[
{
“电子邮件地址”:{
“地址”:semtestestestes@gmail.com",
“名称”:“Sem Shehovtsov”
}
}
]
}
}
如果发送方
和发件人
设置为相同的值,则工作正常。发件人
邮箱配置为允许代表其他用户发送邮件
有什么想法吗?您不需要设置Sender
属性,Graph会自动为您处理。从:
要从其他用户发送,请在发送到要从中发送的用户的电子邮件地址的邮件上设置from
属性。您无需设置发件人
属性-Microsoft Graph将根据授予已登录用户的邮箱权限对其进行适当设置
请尝试此有效负载:
{
"message":{
"subject": "Trying to send message on behalf",
"body":{
"contentType":"html",
"content":" email html content "
},
"toRecipients":[
{
"emailAddress":{
"address":"semtestestestes@gmail.com",
"name":"Sem Shehovtsov"
}
}
],
"from":{
"emailAddress":{
"address":"sem.test@contoso.com",
"name":"Sem Test"
}
},
}
}
此外,您不需要同时请求Read
和ReadWrite
作用域。ReadWrite
作用域与Read
作用域重叠 您不需要设置Sender
属性,Graph会自动为您处理此问题。从:
要从其他用户发送,请在发送到要从中发送的用户的电子邮件地址的邮件上设置from
属性。您无需设置发件人
属性-Microsoft Graph将根据授予已登录用户的邮箱权限对其进行适当设置
请尝试此有效负载:
{
"message":{
"subject": "Trying to send message on behalf",
"body":{
"contentType":"html",
"content":" email html content "
},
"toRecipients":[
{
"emailAddress":{
"address":"semtestestestes@gmail.com",
"name":"Sem Shehovtsov"
}
}
],
"from":{
"emailAddress":{
"address":"sem.test@contoso.com",
"name":"Sem Test"
}
},
}
}
此外,您不需要同时请求Read
和ReadWrite
作用域。ReadWrite
作用域与Read
作用域重叠 删除“发件人”部分不会更改任何内容。删除“发件人”部分不会更改任何内容。