Lee*_*ett 11 .net c# windows smtpclient
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);
Run Code Online (Sandbox Code Playgroud)
知道为什么我可能会收到错误
无法解析远程名称.
显然,由于我已经指定了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);
Run Code Online (Sandbox Code Playgroud)
小智 0
我看到的问题是这一行:
smtp.Host = 172.22.0.20;
Run Code Online (Sandbox Code Playgroud)
smtp.Host 需要字符串。所以,应该是smtp.Host = "172.22.0.20";
除此之外,请添加下面的代码,以便我们可以看到错误
try
{
smtp.Send(mail);
}
catch (Exception e)
{
Debug.WriteLine("Exception Message: " + e.Message);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16132 次 |
最近记录: |