2017-12-01 23 views
0

私はパスワード機能を忘れました。私のweb.configファイルでは、私は、メールの設定を行っている:私はweb.configから設定を読み込むしようとしている私のSendAsync方法でSendAsyncメソッドのWeb.Configからメール設定を取得しますか?

<system.net> 
    <mailSettings> 
     <smtp from="email"> 
     <network host="host" port="25" userName="" password="=" enableSsl="true" /> 
     </smtp> 
    </mailSettings> 
</system.net> 

SmtpClient client = new SmtpClient(); 
return client.SendMailAsync(ConfigurationManager.AppSettings["SupportEmailAddr"], 
            message.Destination, 
            message.Subject, 
            message.Body); 

私はこれが何であるか見当がつかない:AppSettings["SupportEmailAddr"]

私はこれをhereから取った。

それは例外次のように私を与えている:

Value cannot be null. Parameter name: from

答えて

0

をweb.configファイルでは、と呼ばれるセクションがあります:<appSettings>

これは、ConfigurationManager.AppSettingsも参照しています。

["SupportEmailAddr"]は、SupportEmailAddrという特定の設定を探しています。あなたは上記のように、あなたのweb.configファイル内の設定を持っていないので、値はnullにメッセージすることはできません取得している

<appSettings> 
    <add key="SupportEmailAddr" value="[email protected]" /> 
</appSettings> 

あなたのweb.configファイルでは、次のようになります。

また
<add key="SupportEmailAddr" value="[email protected]" /> 

を、あなたのAppSettingsに現在の値を持っている場合は、既にその後、ちょうどあなたがC#コードで探しているキーを変更します。だからあなたの<appSettings>を見つけ、追加のエラーメッセージを修正する

ConfigurationManager.AppSettings["CorrectAppSettingKey"] 

注:あなたがweb.configファイルの継承のいずれかを使用する予定がある場合、あなたべきWebConfiguratonManger.AppSettings代わりConfigurationManager.AppSettingsのが特徴。ここの2つの違いを参照してください:What's the difference between the WebConfigurationManager and the ConfigurationManager?

+0

私はSupportEmailAddrで私の設定ファイルに新しいキーを追加する必要があります。他の設定はそのままです。 –

+0

@MHussainはい、正しく設定されていない限りはありません。あなたが既に使用したい設定をしている場合。 'ConfigurationEntry.AppSettings [" SupportEmailAddr "]'の 'SupportEmailAddr'を使用するキーに変更してください。例えば'ConfigurationManager.AppSettings [" MyOtherKey "]' –

+0

私は現在電子メールをリセットしています。しかし、次のエラーが発生するリンクをクリックしているとき: '潜在的に危険なRequest.QueryString値がクライアントから検出されました(コード=" ... QQ == ">ここ