smtpclient.send 在尝试通过 Office 365 发送电子邮件时挂起
smtpclient.send hangs while trying to send email via office 365
我正在使用此代码通过 Office 365 交换服务器发送电子邮件。
var server = "smtp.office365.com";
var port = 587;
var username = "user@domain.com";
var password = "password";
var to = "test@domain.com";
var subject = "test message";
var body = "test message";
var smtpClient = new SmtpClient(server, port)
{
UseDefaultCredentials = false,
Credentials = new NetworkCredential(username, password),
DeliveryMethod = SmtpDeliveryMethod.Network,
EnableSsl = true
};
var messsage = new MailMessage(username, to, subject, body);
try
{
smtpClient.Send(messsage);
Console.WriteLine("Mail sent completed");
}
catch (Exception ex)
{
Console.Error.WriteLine(ex.ToString());
}
我的代码只是挂在 smtpClient.Send(messsage);
我可以使用此帐户发送电子邮件。该帐户未启用 2FA。我也没有看到任何人有类似的问题。任何帮助将不胜感激。
谢谢
提克鲁
希望这可能有所帮助:
- 将 smtpClient 的超时设置为较低的值,然后看看是否出现超时,或者等待您超过 1 分钟?
smtpClient.Timeout = 100;
- 启动 Wireshark 以分析您网络中的 smtp 流量。看看服务器是否应答。
- 检查您机器的防火墙选项
- 检查那里的所有参数
- 使用相同的选项在机器上尝试另一个邮件客户端
- 可能有帮助的测试工具:https://testconnectivity.microsoft.com/tests/o365
- 尝试远程登录 https://docs.microsoft.com/en-us/Exchange/mail-flow/test-smtp-with-telnet?view=exchserver-2019
按照此过程启用 SMTP 身份验证后
我们能够解决问题
谢谢
提克鲁
我正在使用此代码通过 Office 365 交换服务器发送电子邮件。
var server = "smtp.office365.com";
var port = 587;
var username = "user@domain.com";
var password = "password";
var to = "test@domain.com";
var subject = "test message";
var body = "test message";
var smtpClient = new SmtpClient(server, port)
{
UseDefaultCredentials = false,
Credentials = new NetworkCredential(username, password),
DeliveryMethod = SmtpDeliveryMethod.Network,
EnableSsl = true
};
var messsage = new MailMessage(username, to, subject, body);
try
{
smtpClient.Send(messsage);
Console.WriteLine("Mail sent completed");
}
catch (Exception ex)
{
Console.Error.WriteLine(ex.ToString());
}
我的代码只是挂在 smtpClient.Send(messsage);
我可以使用此帐户发送电子邮件。该帐户未启用 2FA。我也没有看到任何人有类似的问题。任何帮助将不胜感激。
谢谢 提克鲁
希望这可能有所帮助:
- 将 smtpClient 的超时设置为较低的值,然后看看是否出现超时,或者等待您超过 1 分钟?
smtpClient.Timeout = 100;
- 启动 Wireshark 以分析您网络中的 smtp 流量。看看服务器是否应答。
- 检查您机器的防火墙选项
- 检查那里的所有参数
- 使用相同的选项在机器上尝试另一个邮件客户端
- 可能有帮助的测试工具:https://testconnectivity.microsoft.com/tests/o365
- 尝试远程登录 https://docs.microsoft.com/en-us/Exchange/mail-flow/test-smtp-with-telnet?view=exchserver-2019
按照此过程启用 SMTP 身份验证后
我们能够解决问题
谢谢 提克鲁