我正在使用Web窗体开发一个ASP.NET应用程序,而且我对从Microsoft Exchange Server帐户发送电子邮件(我认为是微不足道的)问题感到磕磕绊绊。
我使用ExchangeService类(使用Microsoft EWS API)和AutodiscoverUrl函数连接到Exchange服务器。
这是我的代码:
protected void Button2_Click(object sender, EventArgs e)
{
string from = "myemail@myexchangeserver.com";
string to = "recipient@email.com";
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
service.AutodiscoverUrl(from);
EmailMessage message = new EmailMessage(service);
message.Subject = "Email Subject";
message.Body = TextBoxMessage.Text;
message.ToRecipients.Add(to);
message.Save();
message.SendAndSaveCopy();
}
问题是我只能向本地电子邮件地址发送电子邮件,例如从Exchange服务器发送电子邮件(仅来自我公司的地址)。发送到“外部”电子邮件(例如gmail)不起作用,尽管SendAndSaveCopy调用不会抛出任何异常。
我应该提一下,这只适用于我公司本地网络内的开发服务器。如果我断开与本地网络的连接,我将无法再连接到Exchange服务器并抛出异常。
我做错了什么?
答案 0 :(得分:0)
原来我的服务器不接受AutodiscoverUrl,我不得不手动设置凭证到emailaccount与 service.Credentials =新的WebCredentials(“userName”,“password”,“Domain”);
感谢您的评论,这确实有帮助!