无法向其他域发送电子邮件

时间:2015-11-06 22:53:29

标签: c# email smtp

我有一些代码只能用于我的 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 ......

2 个答案:

答案 0 :(得分:0)

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

您的smtp端口不是默认端口,因此可能被防火墙阻止。

答案 1 :(得分:0)

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

mailClient.EnableSsl = true;