例外が発生したときにlog4jを使用してメールを送信しています。以下は私のlog4jプロパティファイルの設定です。
log4j.rootLogger=WARN, R, email
log4j.appender.R=org.apache.log4j.ConsoleAppender
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{HH:mm:ss} %-5p [%c{1}]: %m%n
log4j.appender.email=org.apache.log4j.net.SMTPAppender
log4j.appender.email.BufferSize=10
log4j.appender.email.SMTPHost=myhost.com
log4j.appender.email.From=abc@some.com
log4j.appender.email.To=abc@some.com
log4j.appender.email.Subject=Error
log4j.appender.email.layout=org.apache.log4j.PatternLayout
私はmavenプロジェクトです。mail.jar、activation.jar、smtp.jarの依存関係を追加しました。しかし、アプリケーションサーバーの起動自体で、以下のエラーが発生します。
[ERROR] log4j:ERROR Error occured while sending e-mail notification.
[ERROR] javax.mail.NoSuchProviderException: smtp
[ERROR] at javax.mail.Session.getService(Session.java:782)
[ERROR] at javax.mail.Session.getTransport(Session.java:708)
[ERROR] at javax.mail.Session.getTransport(Session.java:651)
[ERROR] at javax.mail.Session.getTransport(Session.java:631)
[ERROR] at javax.mail.Session.getTransport(Session.java:686)
[ERROR] at javax.mail.Transport.send0(Transport.java:166)
私はここで何かが欠けていますか?エラーの根本的な原因は何ですか?SMTPホスト名が正しくないためですか?それとも、依存関係の欠落/競合が原因ですか?