12

メールを送信するためにlog4netを実装しようとしています。
以下は私のコードですが、メールを送信していません。

 <appender name="SmtpAppender" type="log4net.Appender.SmtpAppender">
  <to value="...." />
  <from value="..." />
  <subject value="Logging Message" />
  <smtpHost value="smtp.gmail.com" />
  <port value="465"/>
  <authentication value="Basic" />
  <username value="..."/>
  <password value="..."/>
  <EnableSsl value="true" />
  <bufferSize value="1" />
  <lossy value="true" />
  <evaluator type="log4net.Core.LevelEvaluator">
    <threshold value="WARN"/>
  </evaluator>
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %level %logger - %message%newline%exception" />
  </layout>
</appender>

<root>
  <level value="WARN" />
  <appender-ref ref="SmtpAppender" />
</root>

AssemblyInfo.cs で

 [assembly: log4net.Config.XmlConfiguratorAttribute(Watch = true)]

それがログオブジェクトを作成する方法です

  private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

この構成は、ファイル出力、つまり RollingFileAppender では正常に機能しますが、SmtpAppender では機能しません。

N インターネットから多くの解決策を試しましたが、あまり役に立ちませんでした。

正しい道順を教えてください。事前に感謝します:)

4

3 に答える 3

10

GmailとSMTPメッセージに非常によく似たアペンダーを使用していますが、私の場合は別のポートを使用しています。

<port value="587"/>

他のすべての設定は同じなので、試してみて、うまくいくかどうかを確認してください。これは、GmailがTLSに使用するポートであり、ここで参照されています

于 2013-03-20T12:36:57.893 に答える