C# 如何使用域windows身份验证从office365帐户发送电子邮件
我正在开发一个控制台应用程序,它将从windows服务执行,该服务需要使用与运行windows服务的域帐户关联的域帐户发送电子邮件 在我的开发机器中,我使用一个域帐户登录,该域帐户属于运行windows服务的同一个域,但我无法使它正常工作 对于这个开发,我使用.NET4.6.1和nuget包FluentEmail.Smtp 我的代码如下所示:C# 如何使用域windows身份验证从office365帐户发送电子邮件,c#,office365,C#,Office365,我正在开发一个控制台应用程序,它将从windows服务执行,该服务需要使用与运行windows服务的域帐户关联的域帐户发送电子邮件 在我的开发机器中,我使用一个域帐户登录,该域帐户属于运行windows服务的同一个域,但我无法使它正常工作 对于这个开发,我使用.NET4.6.1和nuget包FluentEmail.Smtp 我的代码如下所示: Email.DefaultSender = new SmtpSender(new SmtpClient { UseDefaultCredentia
Email.DefaultSender = new SmtpSender(new SmtpClient
{
UseDefaultCredentials = true,
EnableSsl = true,
Host = "smtp.office365.com",
TargetName = "STARTTLS/smtp.office365.com",
Port = 587,
DeliveryMethod = SmtpDeliveryMethod.Network
});
await Email.From("myname@mycompanydomain.com", "Some tittle")
.To(emailListObject)
.Subject("Some subject")
.Body("Some body", true)
.SendAsync();
使用此代码,我得到以下异常:
Unable to connect to the remote server
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 52.96.9.178:587
at System.Net.Mail.SmtpConnection.ConnectAndHandshakeAsyncResult.End(IAsyncResult result)
at System.Net.Mail.SmtpTransport.EndGetConnection(IAsyncResult result)
at System.Net.Mail.SmtpClient.ConnectCallback(IAsyncResult result)
注意:在我的机器上,我可以ping异常中提到的IP
我将感谢您的帮助对于初学者,您可能想看一下。您将注意到,在正确配置Exchange服务器的同时,还存在许多问题(如TLS安全性) 如果您的问题中没有更多信息,那么回答的内容就相当有限,但是作为替代解决方案,您可以查看direct send。(这要少得多) 直接发送的设置 在设备上或直接在应用程序中输入以下设置
- 服务器/智能主机。使用您的MX端点,例如,
contoso com.mail.protection.outlook.com
- 端口。使用端口25
- TLS/StartTLS.启用此选项
- 电子邮件地址。使用Office 365接受域之一的任何电子邮件地址。此电子邮件地址不需要有邮箱
DNS entry Value
SPF v=spf1 ip4:<Static IP Address> include:spf.protection.outlook.com ~all
DNS条目值
SPF v=spf1 ip4:包括:SPF.protection.outlook.com~all
您好,您找到您的案例中的错误了吗?