Edited at

Windows 7 の Jenkins の E-mail 通知設定で IPv4/IPv6 関係で SMTP サーバーに接続できない

More than 3 years have passed since last update.


環境

環境は以下の通り。


  • Windows 7 SP1 64bit

  • Java 8 Update 77

  • Jenkins 1.655


問題

E-mail 通知を設定してテストメールを送信すると以下のエラーとなる。

java.net.SocketException: Network is unreachable: connect


対策

"java.net.SocketException: Network is unreachable: connect" でググって以下の URL 先を発見。

"Java7とJavaMail - H.L.B. /* hyper@shのLog Book */"

http://hyperash.hatenablog.com/entry/2014/12/18/233706


どうもJava7になってから、IPv6のネットワークアダプタが存在する場合にそっちを優先的に使おうとするようですね。WindowsはXPの頃からIPv6がデフォルトで(使ってなくても)設定されますから。


URL 先と同じように Java 起動時オプションを追加する。

C:\Program Files (x86)\Jenkins\jenkins.xml に以下のように追加して Jenkins サービスを再起動して解決。

<arguments>... -Djava.net.preferIPv4Stack=true ...</arguments>