使用公司的电子邮件地址发送自动电子邮件

时间:2020-05-08 00:17:08

标签: c# selenium selenium-webdriver smtp

我有一种方法,该方法基本上可以自动将电子邮件发送到我们的公司通讯组,并以我的公司电子邮件地址为发件人。这听起来很简单;但是,每次尝试执行该方法时,都会不断出现异常。我也在我的个人office365帐户上尝试了此操作,它运行良好,仅在使用公司电子邮件时出现问题。

引发的异常:System.dll中的“ System.Net.Mail.SmtpException”

这是我的smtp设置(我们使用Outlook)。

SmtpClient smtp = new SmtpClient("smtp.live.com", 587);
smtp.Credentials = new NetworkCredential(fromEmail, Password);
smtp.EnableSsl = true;
smtp.Send(mail);

我在考虑是否应该使用我们自己的“ smtp.live.com”版本,或者使用其他端口?我尝试使用端口25,但仍然是同一问题。

2 个答案:

答案 0 :(得分:1)

关于个人office365帐户公司电子邮件(外观)设置的更多详细信息以及完整的错误堆栈跟踪信息,将有助于我们分析问题更好的方法。但是,这里有一些见解:


使用个人Office365帐户发送自动电子邮件

使用Microsoft 365发送自动电子邮件的SMTP设置如下:

  • 服务器:smtp.office365.com
  • 端口:587
  • 加密:STARTTLS

使用公司电子邮件帐户发送自动电子邮件

如果您的组织使用Outlook.com/Hotmail.com/Live.com中的任何一个作为电子邮件提供程序,则SMTP设置是相同的:

  • 服务器:smtp.office365.com
  • 端口:587
  • 加密:STARTTLS

使用公司电子邮件帐户发送自动电子邮件

如果您的组织使用Outlook.com/Hotmail.com/Live.com中的任何一个作为电子邮件提供程序,则SMTP设置是相同的:

  • 服务器:smtp.office365.com
  • 端口:587
  • 加密:STARTTLS

参考:您可以在POP and IMAP email settings for Outlook

中找到相关文档。

使用Windows Live Hotmail SMTP设置发送自动电子邮件

如果您打算使用Windows Live Hotmail SMTP,则设置为:

  • Hotmail SMTP服务器:smtp.live.com
  • Hotmail SMTP用户名:完整的Windows Live Hotmail电子邮件地址(例如KentAbrio@hotmail.com或KentAbrio@live.com)
  • Hotmail SMTP密码:您的Windows Live Hotmail密码
  • Hotmail SMTP端口:587
  • 需要Hotmail SMTP TLS / SSL :是

参考:您可以在Windows Live Hotmail SMTP Settings

中找到相关文档。

示例代码

SmtpClient client = new SmtpClient();
client.Port = 587;
client.Host = "smtp.office365.com";
client.EnableSsl = true;
client.Timeout = 10000;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(fromEmail, "Password");
MailMessage mm = new MailMessage("KentAbrio@hotmail.com", "KentAbrio@live.com", "test", "test");
mm.BodyEncoding = UTF8Encoding.UTF8;
mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
client.Send(mm);

答案 1 :(得分:1)

尝试删除此行:

smtp.EnableSsl = true;

并添加以下行:

smtp.ConnectType = SmtpConnectType.ConnectSSLAuto;

此外,下一个解决方案是尝试仅删除此行:

smtp.EnableSsl = true;

我非常确定这可以解决。 请尝试使用其他端口(25或587或465),或者完全不使用端口。

相关问题