【问题标题】:web.config contents doesn't affects SmtpClient() configurationweb.config 内容不影响 SmtpClient() 配置
【发布时间】:2013-08-18 01:26:34
【问题描述】:

我在尝试通过 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 内容只是被忽略了。如何指定所有必要的设置实际上都存在?

【问题讨论】:

标签: c# asp.net asp.net-mvc-2


【解决方案1】:

您的 web.config 的内容看起来不像应用程序根 web.config,而是存储在子目录中的内容(例如 mywebsite.com/foo/web.config 而不是 mywebsite.com/web.config

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

【讨论】:

    猜你喜欢
    • 2013-03-02
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 2016-04-05
    • 1970-01-01
    相关资源
    最近更新 更多