2016-12-20 9 views
0

でそれらを使用して、私のSMTPのため、以下の設定ファイル例えば、以前のパッケージをした:電子メールのSMTPの設定を登録するとコード

<configSection> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 

    </configSections> 

をそして同様に私のコードでWeb構成から設定を使用して:

public static async void ResetPasswordEmail(string emailTo) 
     { 
      var message = new MailMessage(); 
      message.To.Add(new MailAddress(emailTo)); //replace with valid value 
      message.Subject = "Your email subject"; 
      message.Body = "This is test Email"; 
      message.IsBodyHtml = false; 
      using (var smtp = new SmtpClient()) 
      { 
       await smtp.SendMailAsync(message); 
      } 
     } 

Web設定の設定セクションにメール設定を登録し、それを自分のコードで使用するにはどうすればよいですか?あなたは以下のようにweb.configファイルに設定を追加することができます

using (MailMessage mailMessage = new MailMessage()) 
       { 
        // Get modified content from the template.Its optional if you don't want to populate body 
        var body = PopulateBody(replaceParameters, emailTemplate); 

        // Setup the mail configuration. 
        mailMessage.From = new MailAddress(Utils.Setting.UserName, Utils.Setting.SenderDisplayName); 
        mailMessage.Subject = subject; 
        mailMessage.Body = body; 
        mailMessage.IsBodyHtml = true; 
        mailMessage.To.Add(new MailAddress(to, recepientName));  
        if (mailMessage.To != null && mailMessage.To.Count > 0) 
        { 
         // Initiat smtp configuration. 
         SmtpClient smtp = new SmtpClient(); 
         smtp.Host = Host; 
         smtp.EnableSsl = Convert.ToBoolean(Utils.Setting.EnableSsl); 
         System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential(); 
         // Pass the sender credentials. 
         NetworkCred.UserName = UserName; 
         NetworkCred.Password = Password; 
         smtp.UseDefaultCredentials = true; 
         smtp.Credentials = NetworkCred; 
         smtp.Port = int.Parse(Port); 

         smtp.Send(mailMessage); 
        } 
       } 

: - - :

<appSettings> 
<add key="Host" value="smtp.gmail.com" /> 
    <add key="EnableSsl" value="true" /> 
</appSettings> 

ANSはそれが好きでアクセスすることができます - あなたは、コードの下に使用することができます

+0

カスタムセクションを作成する必要はありません。ビルトイン構成スキーマを使用して、これらの設定を指定することができます([ドキュメント](https://msdn.microsoft.com/en-us/library/w355a94k(v=vs.110).aspx)を参照してください)。 – mason

答えて

1

string Host = ConfigurationManager.AppSettings["Host"]; 
+0

それはあなたのために働く場合、それは他の人にも役立つことができるので、答えとしてマークしてください。 –

+0

なぜあなたは 'mailSettings'の組み込みの設定スキーマを使ってカスタムappSettingsを宣伝しますか? – mason

関連する問題