我正在编写一个使用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);
}
答案 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作为默认属性。但是,由于某些原因,这似乎不起作用。
你可以为此做一个简单的谷歌搜索; - )
答案 2 :(得分:0)
另外一条评论:我发现在Server 2008上,您的网站需要在ApplicationPoolIdentity(默认)以外的身份的应用程序池中运行,以便通过localhost发送电子邮件(即,没有SmtpMail.SmtpServer集) 。所有其他身份都有效(NetworkService,LocalService,LocalSystem),而不是ApplicationPoolIdentity。
如果将SmtpMail.SmtpServer指定为null或localhost以外的其他值,则可以使用ApplicationPoolIdentity。