Avatar billede rytme_1 Nybegynder
19. marts 2007 - 09:37 Der er 9 kommentarer og
1 løsning

Log4Net SmtpAppender med afsender ip adresse

Hej,

Jeg har includeret en log4Net SmtpAppender i min application, der sender en mail til en given adresse (eks. support@support.dk). Jeg vil gerne være i stand til at se hvem der har sendt mailen. Jeg kan "hardcode" en afsender adresse i configen, men kan man ikke lave det dynamisk ved at angive en parameter istedet i configen ??
Avatar billede arne_v Ekspert
19. marts 2007 - 15:09 #1
SmtpAppender har en From property som kan sættes men:
1) hvordan vil du detecte en god email adresse ?
2) hvis det er en flerbruger app så kan der blive samtidigheds problemer
Avatar billede rytme_1 Nybegynder
19. marts 2007 - 15:20 #2
Jeg har pt. sat From propertien til en hardcoded email adresse, men jeg vil gerne undgå at skulle sætte den i hver eneste config hvor applicationen køre. Kan jeg istedet ikke benytte den aktuelle pc's ip adresse ??
Avatar billede arne_v Ekspert
19. marts 2007 - 15:33 #3
Det kan du vel godt, men det giver vel ikke en gyldig email adresse ?
Avatar billede rytme_1 Nybegynder
19. marts 2007 - 15:48 #4
Nej, men det kunne give mig en identifikation af, hvem der har haft en fejl og genereret mailen med fejlbeskrivelse til mig. Det kræver naturligvis at jeg kan identificere vedkommende ud fra ip adressen !!!
Avatar billede arne_v Ekspert
19. marts 2007 - 15:54 #5
Så kan du vel bruge det.

Du kan næppe sætte det i konfigurations filen, men du bør kunen sætte det
programmatisk i din kode.
Avatar billede rytme_1 Nybegynder
19. marts 2007 - 16:59 #6
Ok,

har du en ide til nemmest at gøre dette programmatisk ??
Avatar billede arne_v Ekspert
20. marts 2007 - 03:10 #7
using System;

using log4net;
using log4net.Config;
using log4net.Appender;

public class Test
{
    public static void Main(string[] args)
    {
        XmlConfigurator.Configure();
        ILog log = LogManager.GetLogger("Test");
        foreach(IAppender ap in LogManager.GetRepository().GetAppenders())
        {
            if(ap.Name == "smtp")
            {
                ((SmtpAppender)ap).From = "somebodyelse@arne";
            }
        }
        log.Fatal("Just testing");
        log.Error("Just testing");
        log.Warn("Just testing");
        log.Info("Just testing");
        log.Debug("Just testing");
    }
}

og

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
    </configSections>
    <log4net>
        <appender name="console" type="log4net.Appender.ConsoleAppender,log4net">
            <layout type="log4net.Layout.PatternLayout,log4net">
                <conversionPattern value="%d [%t] %-5p %c - %m%n"/>
            </layout>
        </appender>
        <appender name="smtp" type="log4net.Appender.SmtpAppender,log4net">
            <layout type="log4net.Layout.PatternLayout,log4net">
                <conversionPattern value="%d [%t] %-5p %c - %m%n"/>
            </layout>
            <threshold value="ERROR"/>
            <from value="arne@arne"/>
            <to value="arne@arne"/>
            <subject value="oops"/>
            <smtpHost value="arne"/>
        </appender>
        <root>
            <level value="WARN"/>
            <appender-ref ref="console"/>
            <appender-ref ref="smtp"/>
        </root>
        <logger name="Test">
            <level value="ALL"/>
        </logger>
    </log4net>
</configuration>
Avatar billede arne_v Ekspert
20. marts 2007 - 03:10 #8
from ændres fra arne@arne til somebodyelse@arne
Avatar billede rytme_1 Nybegynder
20. marts 2007 - 11:03 #9
Takker, smid et svar, så vanker der point.
Avatar billede arne_v Ekspert
20. marts 2007 - 14:09 #10
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester