在ASP .NET(SMTP)中发送邮件

时间:2011-06-13 16:26:24

标签: asp.net smtpclient

我在代码文件中编写了以下代码。但它不起作用...... PLZ帮助我! :)

protected void Button1_Click(object sender, EventArgs e)
{

    MailMessage msgeme = new MailMessage("someone@example.com", "someone@example.com", "subject", "body");
    SmtpClient smtpclient = new SmtpClient("smtp.gmail.com",587);
    smtpclient.EnableSsl = true;
    smtpclient.Send(msgeme);
    smtpclient.Credentials = new NetworkCredential("someone@example.com", "password");


}

我尝试了587和465.它显示了SMTP异常处理程序错误。谁能帮忙???

3 个答案:

答案 0 :(得分:3)

您需要在调用send方法之前设置凭据。 但是有关错误的更多信息会有所帮助。

答案 1 :(得分:2)

尝试使用不同的枚举添加DeliveryMethod,并在发送之前添加凭据:

MailMessage msgeme = new MailMessage("someone@example.com", "someone@example.com", "subject", "body");
SmtpClient smtpclient = new SmtpClient("smtp.gmail.com",587);
smtpclient.EnableSsl = true;
smtpclient.Credentials = new NetworkCredential("someone@example.com", "password");
smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network;

smtpclient.Send(msgeme);

答案 2 :(得分:1)

 MailMessage msgeme = new MailMessage("someone@example.com", "someone@example.com", "subject", "body");
 SmtpClient smtpclient = new SmtpClient("smtp.gmail.com",587);
 smtpclient.EnableSsl = true;
 smtpclient.Credentials = new NetworkCredential("someone@example.com", "password");
 smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network;
 smtpclient.Send(msgeme);

工作!!!谢谢

相关问题