1

我在尝试通过 SmtpClient 配置邮件发送时遇到问题。

我通过 web.config 文件配置它,代码如下:

<configuration>
  <system.net>
    <mailSettings>
      <smtp from="mail@gmail.com" deliveryMethod="Network">
        <network enableSsl="true" host="smtp.gmail.com" port="587" userName="mail@gmail.com" password="pass" />
      </smtp>
    </mailSettings>
  </system.net>
</configuration>

然后发送一条消息:

mailMessage = new MailMessage("mail@gmail.com", "mail@gmail.com", Subj, message.ToString());
using (var smtpClient = new SmtpClient()) { 
    smtpClient.Send(mailMessage); 
} 

但此时我收到一个异常,说没有指定 SMTP 主机。我尝试以这种方式对其进行初始化:new SmtpClient("smtp.gmail.com"),然后我收到另一个关于需要 SSL 但未配置的异常。

所以,很明显,web.config 内容只是被忽略了。如何指定所有必要的设置实际上都在那里?

4

1 回答 1

2

您的 web.config 的内容看起来不像 application-root web.config,而是存储在子目录中的内容(例如mywebsite.com/foo/web.config,而不是mywebsite.com/web.config

将您的<system.net><mailSettings>配置元素移动到应用程序根目录中的 web.config 文件,然后它应该可以工作。

于 2013-08-18T01:44:38.993 回答