无法将电子邮件发送到其他域

本文关键字:其他 电子邮件 | 更新日期: 2023-09-27 18:20:52

我有一些代码只能使用我的SMTP主机域,而不能使用其他代码。它似乎在发送,但实际上并没有发送任何内容,也没有抛出任何异常。

SmtpClient mailClient = new SmtpClient();
mailClient.UseDefaultCredentials = false;
mailClient.Port = 587;
mailClient.EnableSsl = false;
mailClient.DeliveryMethod = SmtpDeliveryMethod.Network;
mailClient.Host = "mail.smtpserver.com";

System.Net.NetworkCredential cred = new System.Net.NetworkCredential("mail@smtpserver.com", "password");
mailClient.Credentials = cred;

MailMessage message = new MailMessage();
message.From = new MailAddress("mail@smtpserver.com");
message.To.Add("mail@remotedomain.com");
message.Subject = "Subject";
message.Body = "Body";
mailClient.Timeout = 200000;
mailClient.Send(message);

我认为问题不是检查NetworkCredential。。。

无法将电子邮件发送到其他域

我建议您尝试使用telnet与"其他"smtp服务器发送测试邮件,以确保其正常工作。

你的smtp端口不是默认端口,所以它可能被防火墙阻止了。

通常,如果您使用端口587,那么这是SSL安全的SMTP-因此您需要更改代码,以便在建立连接时使用它:

mailClient.EnableSsl = true;