未指定SMTP主机。 InvalidOperationException
问题描述:
我想为我的用户编写电子邮件验证。但我有一些问题。
我有这样的:未指定SMTP主机。 InvalidOperationException
public static void SendMail(User user)
{
string verifyNewUser = "http://localhost:9928/Account/Activate/" +
user.Name + "/" + user.EmailKey;
var sr = new StreamReader("ActivateNewUser.txt");
MailMessage mailMessage = new System.Net.Mail.MailMessage();
mailMessage.IsBodyHtml = true;
mailMessage.To.Add(user.Email);
mailMessage.Subject = "Registration on Harb";
mailMessage.Body = sr.ReadToEnd();
sr.Close();
mailMessage.Body = mailMessage.Body
.Replace("@AccountName", user.Name);
mailMessage.Body = mailMessage.Body
.Replace("@VerificationUrl", verifyNewUser);
var smtpClient = new SmtpClient();
smtpClient.Send(mailMessage);
}
在web.config中我写:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="[email protected]">
<network host="smtp.gmail.com" port="587" userName="[email protected]"
password="myPassword" defaultCredentials="false" enableSsl="true"/>
</smtp>
</mailSettings>
但是我有一个InvalidOperationException
。
有人可以帮我解决这个问题吗?
答
我没有看到您的文章的评论链接,所以我会问这里的问题。
在哪个语句发生异常?
你在哪里添加SMTPClient服务器? – 2012-04-27 14:58:34
我使用Gmail服务器。这就是为什么我在Web.config中编写mailSettings的原因。 如果我理解正确。 – LuckSound 2012-04-27 15:10:59