我有我的代码在这里,它从我的家庭,我的用户是管理员,我通过有线网络连接到互联网正常工作。 但是,问题是,当我从我的工作场所尝试此代码时,它不起作用。显示错误: “无法连接到远程服务器” 从不同的机器在同一网络中: “A套接字操作试图无法访问网络209.xxx.xx.52:25”不能从网络使用C#,asp.net网站发送smtp电子邮件
我检查与我们的网络管理员,他向我保证,所有的邮件端口是开放的[25,110,和其他端口的Gmail]。
然后,我用管理员权限登录,有一点改进,它没有显示任何错误,但实际的电子邮件从未收到。
请注意,该代码是从开发环境中测试,Visual Studio 2005和2008年
任何建议将不胜感激。 在此先感谢
try
{
MailMessage mail_message = new MailMessage("[email protected]", txtToEmail.Text, txtSubject.Text, txtBody.Text);
SmtpClient mail_client = new SmtpClient("SMTP.y7mail.com");
NetworkCredential Authentic = new NetworkCredential("[email protected]", "xxxxx");
mail_client.UseDefaultCredentials = true;
mail_client.Credentials = Authentic;
mail_message.IsBodyHtml = true;
mail_message.Priority = MailPriority.High;
try
{
mail_client.Send(mail_message);
lblStatus.Text = "Mail Sent Successfully";
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine(ex.Message);
lblStatus.Text = "Mail Sending Failed\r\n" + ex.Message;
}
}
catch (Exception ex)
{
lblStatus.Text = "Mail Sending Failed\r\n" + ex.Message;
}
谢谢。它也适用于我。不仅用于Gmail,也用于y7mail!这个港口587有什么特色吗? – Kaysar 2010-04-03 09:09:29
使其工作的主要部分代码: MailMessage mail_message = new MailMessage(“[email protected]”,txtToEmail.Text,txtSubject.Text,txtMailBody.Text); SmtpClient mail_client =新的SmtpClient(“SMTP.y7mail.com”,587); NetworkCredential Authentic = new NetworkCredential(“[email protected]”,“xxx”); mail_client.UseDefaultCredentials = true; mail_client.Credentials = Authentic; – Kaysar 2010-04-03 09:11:04
很高兴解决。端口587b是使用ESMTP(RFC2476)提交电子邮件的标准端口。 – 2010-04-03 15:38:36