2015年9月8日火曜日

Jenkins のメール通知で失敗する

Jenkins のプラグインのメール通知で「メールを送信して設定を確認」でテストメールの
送信を実行しても「メールの送信に失敗しました。」となり
javax.mail.MessagingException: Could not connect to SMTP host: mail.example.com, port: 25;
が表示されたときは POP before SMTP が利用されているかもしれません。
設定で SMTP認証やポート番号をサーバに合わせて変更してみたのですが解決しなかったのでソースコードを確認してみました。
JavaMail APIで POP before SMTP なサーバへメール送信という投稿を見つけ
サンプルプログラムには含まれていたコードが、メール通知のプラグインのソースコードには在りませんでした。
JavaMail API を利用したことが無いためソースコードから見つけられないだけで POP before SMTP がサポートされてないかの判断をするには安易かもしれませんが。
メール通知ならGmailを利用した方法もありますし通知する方法は他にも色々とあるので。
別の方法を探してみたいと思います。

そもそもなぜ調べることになったかというとWindowsでJenkinsを利用していてジョブの結果をメールで通知できたら良いなと思ったのです。
しかしそのためにメールサーバを立ち上げるのもどうかなと思ったので既にあるメールサーバを利用してみようと試したところ上手くいきませんでした。