通过Office 365设置不同的发件人地址

时间:2018-05-07 07:47:42

标签: c# office365 exchange-server sendmail system.net.mail

使用Office 365发送邮件时,我们如何设置与地址不同的邮件。基本上我提供的凭据是办公室365帐户/用户名和电子邮件地址我提到不同的帐户。那么这必须是一样的吗?

以下是我的代码。

MailMessage msg = new MailMessage();
msg.To.Add(new MailAddress("toid@domain.com", "To Name"));
msg.From = new MailAddress("fromid@domain.com", "From Name");
msg.Subject = "Azure Web App Email using smtp.office365.com";
msg.Body = "Test message using smtp.office365.com on Azure from a Web App";
msg.IsBodyHtml = true;
SmtpClient client = new SmtpClient();
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("o365id@domain.com", "O365 PASS");
client.Port = 587;
client.Host = "smtp.office365.com";
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;

但它给了我以下错误,

  

邮箱不可用。服务器响应是:5.7.60 SMTP;客户呢   没有作为此发件人发送的权限

基本上我想在发送邮件时设置与地址不同的地址。

编辑1 :来自电子邮件地址将是登录用户的电子邮件ID。这将来自同一个域,但考虑到这一点,我们可以将发送作为公共邮箱的权限。

1 个答案:

答案 0 :(得分:1)

该错误意味着您尝试发送的凭据并不具有您尝试作为发件人发送的用户/邮箱的SendAS权限。要解决此问题,您需要通过Portal https://technet.microsoft.com/en-AU/library/jj919240%28v=exchg.150%29.aspx?f=255&MSPPError=-2147217396或使用PowerShell

授予该权限
Add-ADPermission -Identity helpdesksupport -User o365id@domain.com -ExtendedRights "Send As"