2014-01-23 51 views
4

我試圖找到這個小問題的解決方案相當長的一段時間,但找不到答案。如何設置log4net的SmtpAppender發件人名稱在config文件

我想要設置我送使用log4net的SmtpAppender我的電子郵件的發件人的名字,但我無法弄清楚如何。

這是我的log4net的appender配置:

<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender"> 
    <to value="[email protected]" /> 
    <from value="[email protected]" /> 
    <subject value="test logging message" /> 
    <smtpHost value=" ... " /> 
    <authentication value="Basic" /> 
    <port value="587" /> 
    <bufferSize value="1" /> 
    <username value=" ... " /> 
    <password value=" ... " /> 
    <EnableSsl value="true"/> 
    <lossy value="true" /> 
    <evaluator type="log4net.Core.LevelEvaluator"> 
    <threshold value="FATAL"/> 
    </evaluator> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" /> 
    </layout> 
</appender> 

它的工作原理,但是當我收到的電子郵件,發件人的是無論是在「從」 @前面參數,在這種情況下是「發件人」(因爲它是[email protected])。

我要的是一個自定義名稱,比方說通知,但仍保持從[email protected]發送

我嘗試了不同的參數(只是隨機猜測,因爲我找不到任何好的想法而搜索網)...像FROM_NAME或SENDER_NAME ......實在不行......

這是我的第一個問題的SO,希望我符合所有標準,有人能幫助我:)

乾杯

+0

log4net的文檔http://logging.apache.org/log4net/release/sdk/log4net.Appender.SmtpAppenderMembers。據我所見,html似乎沒有這樣的屬性 – Olaf

+0

是的,我也注意到了,但我幾乎不相信這是不可能的,因爲SMTP應該允許正常設置。也許log4net團隊只是忘了它,但是......嗯...... – skhro87

+0

我在哪裏工作,我們使用的電子郵件地址是否足夠作爲名稱。例如,這裏有幾個:[email protected]; [email protected]。 –

回答

6

SmtpAppender (Line 469)使用new MailAddress(m_from)附加一個地址,該地址接受一個電子郵件地址。幸運的是,您可以在地址欄中指定一個名稱,在MSDN的備註部分中說明。

電子郵件格式:

Notifier <[email protected]> 

log4net的XML配置示例:

<from value="Notifier &lt;[email protected]&gt;" /> 
+0

是的,那有效!太棒了,非常感謝! :) – skhro87

相關問題