无法使用C#,asp.net网站从网络发送smtp电子邮件

时间:2010-04-01 10:23:08

标签: c# asp.net email smtp

我的代码在这里,它可以在家里工作,我的用户是管理员,我通过有线网络连接到互联网。 但是,问题是当我从我的工作场所尝试这个代码时,它不起作用。显示错误: “无法连接到远程服务器” 从同一网络中的其他计算机: “尝试对无法访问的网络进行套接字操作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;
    }

4 个答案:

答案 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问题的最佳答案。完全验证后,您需要提供网络凭据的用户名和密码。还尝试将此解决方案提供给其他网站。