2

我正在开发一个 ASP .Net 网站。
我的 ASPX 页面之一包含一个按钮。
单击此按钮时,我想使用 Gmail SMTP 服务器发送电子邮件。
我想使用我的 Gmail 帐户作为凭据。

这是按钮的单击事件处理程序:

protected void m_myButton_Click(object p_sender, EventArgs p_args)
{
    string l_subject = "My subject";

    StringBuilder l_builder = new StringBuilder();
    // ...
    string l_body = l_builder.ToString();

    string l_host = ConfigurationManager.AppSettings["SmtpHost"];
    int l_port = int.Parse(ConfigurationManager.AppSettings["SmtpPort"]);

    NameValueCollection l_smtpAccount = (NameValueCollection)ConfigurationManager.GetSection("smtpAccount");
    string l_address = l_smtpAccount["SmtpAddress"];
    string l_password = l_smtpAccount["SmtpPassword"];

    MailMessage l_mail = new MailMessage();
    l_mail.From = new MailAddress(l_address);
    l_mail.To.Add(l_address);
    l_mail.Subject = l_subject;
    l_mail.Body = l_body;

    SmtpClient l_smtp = new SmtpClient();
    l_smtp.Host = l_host; // l_host = "smtp.gmail.com"
    l_smtp.Port = l_port; // l_port = 587
    l_smtp.EnableSsl = true;
    l_smtp.UseDefaultCredentials = false;
    l_smtp.Credentials = new NetworkCredential(l_address, l_password);

    l_smtp.Send(l_mail);
}

命令行 l_smtp.Send(l_mail) 失败。
引发 SMTP 异常,InnerException 属性通知我(从法语翻译成英语):没有建立连接,因为目标计算机拒绝了它 173.194.67.108:587

我的代码基于此页面上的代码:http: //www.codeproject.com/Questions/254743/sending-email-in-asp-net-using-smtp-gmail-server

任何帮助将不胜感激

4

3 回答 3

0

试试这个...

 protected void Button1_Click(object sender, EventArgs e)
{
 MailMessage mail = new MailMessage();
 mail.To.Add("Email ID where email is to be send");
 mail.To.Add("Another Email ID where you wanna send same email");
 mail.From = new MailAddress("YourGmailID@gmail.com");
 mail.Subject = "Email using Gmail";

 string Body = "Hi, this mail is to test sending mail"+ 
             "using Gmail in ASP.NET";
 mail.Body = Body;

  mail.IsBodyHtml = true;
 SmtpClient smtp = new SmtpClient();
 smtp.Host = "smtp.gmail.com"; //Or Your SMTP Server Address
 smtp.Credentials = new System.Net.NetworkCredential
   ("YourUserName@gmail.com","YourGmailPassword");
//Or your Smtp Email ID and Password
 smtp.EnableSsl = true;
 smtp.Send(mail);
 }
于 2013-02-19T10:50:55.353 回答
0

没有建立连接,因为目标计算机拒绝了它73.194.67.108:587

尝试其他 SMTP 端口:465

于 2013-02-19T10:54:42.093 回答
0

我已按照 Rup 的建议关闭了我的防病毒程序,我没有遇到任何异常。
我将在我的防病毒程序中创建一个自定义规则,以允许我的 ASP .Net 网站和 Gmail SMTP 服务器之间的通信。

于 2013-02-19T20:56:49.903 回答