首页 / 邮件 / 使用共享邮箱中的c#在E#中发送电子邮件
使用共享邮箱中的c#在E#中发送电子邮件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用共享邮箱中的c#在E#中发送电子邮件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1781字,纯文字阅读大概需要3分钟。
内容图文
![使用共享邮箱中的c#在E#中发送电子邮件](/upload/InfoBanner/zyjiaocheng/820/75cf913dc0464b0aab64e5ca4445b227.jpg)
IT部门正在从创建服务帐户转向共享邮箱.我们所有的部门电子邮件帐户都将转换为共享邮箱.到目前为止,我一直使用EWS使用以下代码从我们的网络应用程序向收件人发送电子邮件:
ExchangeService service = new ExchangeService();
service = new ExchangeService(ExchangeVersion.Exchange2013_SP1)
{
Credentials = new NetworkCredential("dept_email@example.com", "Password1"),
Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx")
};
email = new EmailMessage(service);
email.Body = new MessageBody(BodyType.HTML, Message.ToString());
email.ToRecipients.Add(Recipient.email);
email.SendAndSaveCopy();
}
如何使用共享邮箱发送电子邮件而不是硬编码电子邮件地址和密码?我使用的电子邮件地址是不符合当前密码安全标准的服务帐户.正是由于这个原因,他们正在将部门电子邮件更改为共享邮箱.
我正在使用Windows身份验证来验证Active Directory中的用户.
解决方法:
如果您想继续使用EWS,您仍可能需要一个服务帐户才能使用共享邮箱(除非您的应用程序可以模拟共享邮箱上具有SendAS权限的用户),例如您授予共享邮箱的服务帐户SendAs权限想要发送为,然后将发件人地址和已发送邮件文件夹设置为共享邮箱的文件夹(如果您想要保存在共享邮箱已发送邮件文件夹中的邮件的副本).例如
email.From = new EmailAddress("smtpaddress@domain.com");
Mailbox SharedMailbox = new Mailbox("smtpaddress@domain.com");
FolderId SharedMailboxSendItems = new FolderId(WellKnownFolderName.SentItems, SharedMailbox);
email.SendAndSaveCopy(SharedMailboxSendItems);
允许您摆脱服务帐户的更好方法是使用新的REST API https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations,然后创建一个只有权发送电子邮件并利用证书身份验证https://msdn.microsoft.com/en-us/office/office365/howto/building-service-apps-in-office-365的应用程序.这应该可以让您摆脱服务帐户的任何许可证要求,并且还提供更安全的应用程序,因为您不再拥有硬编码的信用卡,并且您的应用程序只能访问它需要执行的操作而无需其他操作.
内容总结
以上是互联网集市为您收集整理的使用共享邮箱中的c#在E#中发送电子邮件全部内容,希望文章能够帮你解决使用共享邮箱中的c#在E#中发送电子邮件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。