未指定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
有人可以帮我解决这个问题吗?

+0

你在哪里添加SMTPClient服务器? – 2012-04-27 14:58:34

+0

我使用Gmail服务器。这就是为什么我在Web.config中编写mailSettings的原因。 如果我理解正确。 – LuckSound 2012-04-27 15:10:59

我没有看到您的文章的评论链接,所以我会问这里的问题。

在哪个语句发生异常?