2016-11-04 24 views
0

system.net> mailSetttings> smtpタグのfromセクションのアプリケーション構成ファイルの "from"アドレスを指定しました。アプリケーション構成ファイルで指定された "送信元"アドレスを使用して.netでSMTPメッセージを送信するにはどうすればよいですか?

しかし、私は明らかにMailMessageコンストラクタのコードに "from"アドレスを指定する必要があります。私がコードでそれを行うと、コードからのアドレスが設定ファイルのアドレスを上書きします。 設定ファイルの「送信元」アドレスを使用するにはどうすればよいですか? nullまたは空の文字列を使用すると、例外が発生します。

コード:あなたがメールメッセージでプロキシクラスを作成することができますし、このクラスでは、値:)シンプルで醜いソリューションが、非常に簡単:)

答えて

1

がそれを手に入れた:

//use the constructor without parameters   
MailMessage notificationMessage = new MailMessage() 
{ 
    Subject = subject, 
    Body = messageBodyText, 
    IsBodyHtml = false, 
    SubjectEncoding = Encoding.UTF8, 
    BodyEncoding = Encoding.UTF8, 
}; 
//add the To address later 
notificationMessage.To.Add(toAddress); 
//from not specified, the default value from the app/web.config will be used. 
+0

もっとエレガントで怠惰なものを探しています。それ以外の場合は、設定ファイルでカスタムコレクションを使用できます。結局のところ、もしあなたがそれを使うことができないなら、この "from"属性は何ですか? :) – Greg

+0

"From"は、例えば、デフォルト値です。 "[email protected]"とこのパラメータはコンストラクタの最後に置くことができ、オプションでもかまいません:)しかし、この解決策は非常に醜いので、todoタグでなければなりません:) –

0

からデフォルトをハードコーディングすることができます

MailMessage notificationMessage = new MailMessage(/*cannot be null or empty here!*/null, toAddress) 
{ 
    Subject = subject, 
    Body = messageBodyText, 
    IsBodyHtml = false, 
    SubjectEncoding = Encoding.UTF8, 
    BodyEncoding = Encoding.UTF8 
}; 
関連する問題