asp.net发送邮件

时间:2009-09-08 09:43:51

标签: asp.net .net-2.0

我正在编写一个使用asp.net发送邮件的程序,它给出了一个错误,因为“SendUsing”配置值无效。这是我的代码

protected void Button2_Click(object sender, EventArgs e)
{
    MailMessage msg = new MailMessage();
    msg.To = "msangita@abc.co.in";
    msg.From = "msangita@abc.co.in";
    msg.Subject = "hello";
    SmtpMail.Send(msg);
}

3 个答案:

答案 0 :(得分:3)

您需要添加要使用的SMTP服务器,例如

System.Web.Mail.SmtpMail.SmtpServer = "mail.provider.com";

也许你可能想看看System.Net.Mail,这是.Net 2中的新邮件类,System.Web.Mail已经过时了。

答案 1 :(得分:0)

通常,此异常必须处理以下代码行(或者我应该说下面一行代码的ABSENCE):

SmtpMail.SmtpServer = "mail.your-domain.com"

默认情况下,如果未设置SmtpMail.SmtpServer,则System.Web.Mail应使用localhost作为默认属性。但是,由于某些原因,这似乎不起作用。

你可以为此做一个简单的谷歌搜索; - )

Source

答案 2 :(得分:0)

另外一条评论:我发现在Server 2008上,您的网站需要在ApplicationPoolIdentity(默认)以外的身份的应用程序池中运行,以便通过localhost发送电子邮件(即,没有SmtpMail.SmtpServer集) 。所有其他身份都有效(NetworkService,LocalService,LocalSystem),而不是ApplicationPoolIdentity。

如果将SmtpMail.SmtpServer指定为null或localhost以外的其他值,则可以使用ApplicationPoolIdentity。