Bazı önemli hatalar durumunda e-postaları NLog posta hedefi üzerinden göndermek istiyorum. Ayrıca web.config dosyasında zaten system.net/mailSettings/smtp'u da yapılandırdım.NLog posta hedefinde system.net/mailSettings/smtp adresinden 'from' adresini kullanmanın herhangi bir yolu var mı?
useSystemNetMailSettings="true"
'u ayarladığımda, NLog, 'from' adresi dışında system.net/mailSettings/smtp adresinden her şeyi kullanır. Bu yüzden özellikle posta hedefi için bir kez daha belirtmem gerekiyor.
Ne yaptım? Sadece "MailFrom" değişkenini yarattım ve uygulama başlatıldığında programsal olarak başlatıyorum.
<nlog>
<variable name="MailFrom" value=""/>
<targets>
<target name="mail" type="Mail" from="${var:MailFrom}" html="false" subject="Subject" to="ToList" useSystemNetMailSettings="true"/>
</targets>
</nlog>
var section = ConfigurationManager.GetSection("system.net/mailSettings/smtp") as SmtpSection;
if (section != null)
LogManager.Configuration.Variables["MailFrom"] = section.From;
belki bunu yapmanın bazı daha iyi bir yol biliyor musunuz? Teşekkürler.
teşekkürler. İyi görünüyor. Yapmam gereken tek değişiklik, hedefi alırken MailTarget yerine AsyncTargetWrapper kullanmaktır. var target = LogManager.Configuration.FindTargetByName ("posta"); var mailtarget = target.WrappedTarget MailTarget olarak; –
dimrun