MailMessage message = new MailMessage();
message.Subject = "test";
message.Body = "test";
message.To.Add("test@gmail.com");
message.From = new MailAddress("bob@internalhost.com");
SmtpClient smtp = new SmtpClient();
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.UseDefaultCredentials = false;
smtp.Host = "172.22.0.20";
smtp.Port = 25;
smtp.Send(message);

知道为什么我可能会出错



显然,由于我已经指定了IP地址,因此不需要解析。我可以在端口25上ping IP甚至telnet并成功发送电子邮件。但是,我无法发送电子邮件。

我运行了wireshark跟踪,看起来好像没有任何流量发送到172.22.0.20

最佳答案

我使用此代码及其工作正常
确保您使用正确的IP地址和端口号。我认为您的端口号不正确。
(打开您的电子邮件ID并检查邮件配置)

MailMessage mail = new MailMessage("bob@internalhost.com", "Toemai@email.com");
mail.Subject = "Subject";
mail.IsBodyHtml = true;
mail.Body = "this is email body";

SmtpClient client = new SmtpClient("172.22.0.20");
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("bob@internalhost.com", "password");
client.Port = 25;

client.Send(mail);

10-04 23:03
查看更多