2013-08-18 69 views
1

嘗試配置通過SmtpClient發送郵件時出現問題。web.config內容不會影響SmtpClient()配置

我將其配置槽web.config文件中的代碼,如:

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

然後發送消息:

mailMessage = new MailMessage("[email protected]", "[email protected]", Subj, message.ToString()); 
using (var smtpClient = new SmtpClient()) { 
    smtpClient.Send(mailMessage); 
} 

但此時此刻我收到一個異常說SMTP主機未指定。 我試圖用這種方式初始化它:新的SmtpClient(「smtp.gmail.com」),然後我收到另一個關於SSL的例外,但沒有配置。

因此,顯然,web.config內容被忽略。我如何指定所有必要的設置都在那裏?

+0

相關問題:http://stackoverflow.com/questions/329411/smtpclient-class-not-picking-up-default-parameters-from-web-config-file –

+0

哦,我的,甚至沒有注意到有兩個web.configs ... – yaapelsinko

回答

2

你的web.config的內容也不會像應用程序根web.config,而是存儲在一個子目錄的東西(例如mywebsite.com/foo/web.config代替mywebsite.com/web.config

移動你<system.net><mailSettings>配置元素的web.config文件在你的應用程序的根,然後它應該工作。