Ankit
Ankit

Reputation: 281

Log4net - smtp appender not working

I am using log4net for sending mails when any app error occurs. I have configured the log4net but mail is not recd. Following is the config:

    <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
        <to value="[email protected]"/>
        <from value="[email protected]"/>
        <subject value="ERROR | MRM Application"/>
        <smtpHost value="relaymail.sapient.com"/>
        <bufferSize value="512"/>
        <lossy value="true"/>
        <evaluator type="log4net.Core.LevelEvaluator">
            <threshold value="ALL"/>
        </evaluator>
        <layout type="log4net.Layout.PatternLayout,log4net">
            <conversionPattern value="%property{log4net:HostName} :: %level :: %message %newlineLogger: %logger%newlineThread: %thread%newlineDate: %date%newlineNDC: %property{NDC}%newline%newline"/>
        </layout>
    </appender>

Is there any other changes that needs to be made?

Upvotes: 16

Views: 10069

Answers (5)

mihkov
mihkov

Reputation: 1189

I will share my case for not received emails with SmtpAppender. The organization that I'm working has restrictions/polices for group emails.
The <to value="[email protected]"/> value in my case was a group email example: [email protected], but if I change it to my personal mail it works.

Finally the solutions was to make new credentials for sending mails. Also tried every solution in this thread, (thanks by the way) in the log4net debugging logs there aren't any errors.

Also checked this questions:

Sometimes it's good to check your system administration for these configurations like in my case. They could resolve your issues.

Upvotes: 0

M Akin
M Akin

Reputation: 507

I also found out that the appender has to be referenced in the root element like such:

    <root>
      <level value="INFO"/>
      <appender-ref ref="LogFileAppender"/>
      <appender-ref ref="ConsoleAppender"/>
      <appender-ref ref="SmtpAppender"/>      
    </root>
  </log4net>

Upvotes: 6

Yaplex
Yaplex

Reputation: 2284

<lossy value="false" />

it helped for me

Upvotes: 5

Hans van Dodewaard
Hans van Dodewaard

Reputation: 713

It looks good. To see some log4net debug messages in your console add the following lines in your app.config

  <appSettings>
    <add key="log4net.Internal.Debug" value="true"/>
  </appSettings>

Maybe this will give you a hint.

Upvotes: 14

Mauricio Scheffer
Mauricio Scheffer

Reputation: 99720

Check if you need SMTP authentication.

Also bufferSize value="512" means it will collect 512 messages before sending an email. I'm pretty sure you don't want that.

Upvotes: 12

Related Questions