Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法通过Office 365 C#客户端库发送电子邮件_C#_Office365_Outlook Restapi - Fatal编程技术网

无法通过Office 365 C#客户端库发送电子邮件

无法通过Office 365 C#客户端库发送电子邮件,c#,office365,outlook-restapi,C#,Office365,Outlook Restapi,我正试图通过Office 365 C#客户端库发送电子邮件。我已经成功地使用它执行了其他操作,即获取文件夹和消息,但无法发送电子邮件 我正在使用Microsoft示例中提供的MailHelper类。方法如下: 内部异步任务ComposeAndSendMailAsync(字符串主题, 字符串主体内容, 字符串收件人) { //合成和发送的消息的标识符。 string newMessageId=string.Empty; //准备收件人列表 var toRecipients=新列表(); 字符串[]

我正试图通过Office 365 C#客户端库发送电子邮件。我已经成功地使用它执行了其他操作,即获取文件夹和消息,但无法发送电子邮件

我正在使用Microsoft示例中提供的MailHelper类。方法如下:

内部异步任务ComposeAndSendMailAsync(字符串主题,
字符串主体内容,
字符串收件人)
{
//合成和发送的消息的标识符。
string newMessageId=string.Empty;
//准备收件人列表
var toRecipients=新列表();
字符串[]拆分器={;“};
var splitrecipientstring=recipients.Split(splitter、StringSplitOptions.removeMptyEntries);
foreach(splitRecipientsString中的字符串收件人)
{
toRecipients.Add(新收件人)
{
EmailAddress=新的EmailAddress
{
Address=recipient.Trim(),
Name=recipient.Trim(),
},
});
}
//准备信息草稿。
var draft=新消息
{
主语,
Body=新项目Body
{
ContentType=BodyType.HTML,
内容=正文内容
},
ToRecipients=ToRecipients
};
尝试
{
//确保我们有对Outlook Services客户端的引用。
var outlookClient=wait AuthenticationHelper.GetOutlookClientAsync(“邮件”);
//发邮件。
等待outlookClient.Me.SendMailAsync(草稿,true);
返回draft.Id;
}
//捕获与无效OData相关的任何异常。
捕获(Microsoft.OData.Core.ODataException ode)
{
抛出新异常(“我们无法发送消息:“+ode.message”);
}
捕获(例外e)
{
抛出新异常(“我们无法发送消息:+e.message”);
}
}
我的论点不是空的,而且似乎是正确的。我得到的错误是:“无法读取请求正文。


我已经确保我的应用程序注册了正确的权限,所以我不知所措。有人知道我的代码是怎么回事吗?

尝试捕获请求的Fiddler跟踪并检查内容类型标题。

尝试将
BodyType.HTML
更改为
BodyType.Text
我已经做了一次尝试,没有任何更改。它在抱怨请求主体,我认为我无法控制它,因为库处理它。上面的ContentType只是消息的主体。我没有使用客户端库,我使用REST-API,我只是在忘记将内容类型更改为
application/json
时出现了这个错误。我尝试了,但是,当我尝试使用Fiddler时,似乎有什么东西阻止了我的身份验证流。