2009-09-08 76 views
1

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

protected void Button2_Click(object sender, EventArgs e) 
{ 
    MailMessage msg = new MailMessage(); 
    msg.To = "[email protected]"; 
    msg.From = "[email protected]"; 
    msg.Subject = "hello"; 
    SmtpMail.Send(msg); 
} 
+2

你有9个问题,但仍然学习如何使用“代码”选项? – Shoban 2009-09-08 09:45:58

+0

刚刚在代码中注意到您的电子邮件ID。请替换或删除它。 – Shoban 2009-09-08 09:46:36

+0

我认为你刚刚通过发布你的电子邮件地址sangita注册了一桶垃圾邮件:) – MPritchard 2009-09-08 09:50:23

回答

3

您需要添加你要使用的SMTP服务器,像

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

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

+0

不是如果SMTP服务器是本地的,反正+1,因为这是常见的原因。 – 2009-09-08 09:48:21

0

通常这个异常必须处理下面的代码行(或者我应该说,下面的代码行的情况下):

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

默认情况下,如果没有设置SmtpMail的SmtpServer,系统.Web.Mail应该使用localhost作为默认属性。但是,由于某种原因,这不会出现工作。

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

Source

0

一个附加注释:我发现Server 2008上,你的网站需要在应用程序池比其他身份运行ApplicationPoolIdentity(默认值)用于通过本地主机发送电子邮件(即,没有SmtpMail.SmtpServer集)。所有其他身份都可以工作(NetworkService,LocalService,LocalSystem),而不是ApplicationPoolIdentity。

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