在asp.net c中按钮点击发送电子邮件时出错

时间:2014-10-28 13:18:57

标签: c#

我正在使用visual studio 2012和asp.net framework 4.5。我想创建一个表单,每当用户单击提交按钮时,都应该向我发送一封电子邮件。我在编码中使用谷歌smtp设置但我得到一个错误,如“发送邮件失败”。我正在粘贴我的编码以供参考

protected void Button1_Click1(object sender, EventArgs e)
 {   
    MailMessage mailmessage = new MailMessage()
    {
        Subject = txtName.Text.ToString().Trim(),
        Body = txtComment.Text.ToString().Trim(),
        IsBodyHtml = false
    };

    mailmessage.To.Add(new MailAddress(Label1.Text));
    mailmessage.To.Add("myusername.com");
    SmtpClient smtpClient = new SmtpClient();
    smtpClient.SendAsync(mailmessage, null);

    Response.Write("Your mail has been sent successfuly");
    Label1.Text = "Your mail has been successfully sent..!!";
    this.txtComment.Text = "";
    this.txtName.Text = "";

网络配置文件

<system.net>
<mailSettings>
  <smtp from="myusername.com">
    <network host="smtp.gmail.com"
     port="465" 
     userName=""
     password=""
     enableSsl="true"/>
  </smtp>
</mailSettings>

我已尝试将端口设为587但我收到同样的错误。

2 个答案:

答案 0 :(得分:0)

正如有人建议的那样,请在发送邮件之前尝试检查Smtp客户端凭据。我在SmtpClient.SendAsync过去也遇到过一些问题。请尝试使用SmtpClient.Send。否则我的代码中确实没有问题。

编辑:您似乎创建了2个SmtpClients。一个在页面加载,一个在buttonClick方法。第二个人也知道凭证吗?

答案 1 :(得分:0)

    <system.net>
  <mailSettings>
    <smtp deliveryMethod="Network" from="Your Email">
      <network defaultCredentials="false" host="smtp.gmail.com" port="587" userName="Your Email" password="Your Password"></network>
    </smtp>
  </mailSettings>
</system.net>

在网络配置中尝试以上代码