我试图找到这个小问题的解决方案很长一段时间但找不到答案。
我想设置发件人使用log4net SmtpAppender发送的电子邮件的名称,但我无法弄清楚如何。
这是我的log4net appender配置:
<appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
<to value="sender@sending.com" />
<from value="receiver@receiving.rom" />
<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>
它有效,但是当我收到电子邮件时,发件人的名称是“from”参数中@的前面的任何内容,在本例中为“sender”(如它是sender@sending.com)。
我想要的是一个自定义名称,让我们说 Notifier ,但仍然继续发送自sender@sending.com
我尝试了不同的参数(只是随机猜测,因为我在搜索网络时找不到任何好的想法)...比如from_name或sender_name ...没有用......
这是我关于SO的第一个问题,希望我符合所有标准,有人可以帮助我:)。
干杯
答案 0 :(得分:8)
SmtpAppender (Line 469)使用new MailAddress(m_from)
附加地址,该地址接受电子邮件地址。幸运的是,您可以在地址字段中指定一个名称,在MSDN的备注部分中说明。
电子邮件格式:
Notifier <sender@sending.com>
Log4net XML配置示例:
<from value="Notifier <sender@sending.com>" />