我的代码在这里,它可以在家里工作,我的用户是管理员,我通过有线网络连接到互联网。 但是,问题是当我从我的工作场所尝试这个代码时,它不起作用。显示错误: “无法连接到远程服务器” 从同一网络中的其他计算机: “尝试对无法访问的网络进行套接字操作209.xxx.xx.52:25”
我查看了我们的网络管理员,他向我保证所有邮件端口都已打开[25,110,以及其他gmail端口]。
然后,我以管理权限登录,有一点改进,它没有显示任何错误,但实际的电子邮件从未收到过。
请注意,代码是从开发环境,visual studio 2005和2008测试的。
任何建议都将不胜感激。 提前致谢
try
{
MailMessage mail_message = new MailMessage("xxxxx@y7mail.com", txtToEmail.Text, txtSubject.Text, txtBody.Text);
SmtpClient mail_client = new SmtpClient("SMTP.y7mail.com");
NetworkCredential Authentic = new NetworkCredential("xxxxx@y7mail.com", "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;
}
答案 0 :(得分:1)
尝试将 UseDefaultCredentials 设置为false。
答案 1 :(得分:1)
以下是一些适用于我并与gmail服务器进行对话的示例代码
private void SendEmail(string from, string to, string subject, string body)
{
MailMessage mail = new MailMessage(new MailAddress(from), new MailAddress(to));
mail.Subject = subject;
mail.Body = body;
SmtpClient smtpMail = new SmtpClient("smtp.gmail.com");
smtpMail.Port = 587;
smtpMail.EnableSsl = true;
smtpMail.Credentials = new NetworkCredential("xxx@gmail.com", "xxx");
// and then send the mail
smtpMail.Send(mail);
}
答案 2 :(得分:0)
还尝试为y7mail打开SSL
mail_client.EnableSSL = true;
来源 - http://help.yahoo.com/l/au/yahoo7/edit/registration/registration-488246.html
答案 3 :(得分:0)
private void SendEmail(string from, string to, string subject, string body)
{
MailMessage mail = new MailMessage(new MailAddress(from), new MailAddress(to));
mail.Subject = subject;
mail.Body = body;
SmtpClient smtpMail = new SmtpClient("smtp.gmail.com");
smtpMail.Port = 587;
smtpMail.EnableSsl = true;
smtpMail.Credentials = new NetworkCredential("xxx@gmail.com", "xxx");
// and then send the mail
smtpMail.Send(mail);
}
这是System.Exception问题的最佳答案。完全验证后,您需要提供网络凭据的用户名和密码。还尝试将此解决方案提供给其他网站。