Sunday 15 March 2015

java - JavaMail fails from IPv6 only host to dual stack environment -



java - JavaMail fails from IPv6 only host to dual stack environment -

i've written little test programme seek send mail service message using javamail. i'm running odd behavior in java , i'm not sure how prepare it. basic setup test programme running ipv6 linux box trying send ipv4 & ipv6 smtp server in dual-stack environment. mean dual stack environment dns server has , aaaa record same hostname smtp server, far know should legal. when run programme both , aaaa records next exception:

javax.mail.messagingexception: not connect smtp host: <my qualified domain name>, port: 25; nested exception is: java.net.socketexception: network unreachable @ com.sun.mail.smtp.smtptransport.openserver(smtptransport.java:1282) @ com.sun.mail.smtp.smtptransport.protocolconnect(smtptransport.java:370) @ javax.mail.service.connect(service.java:275) @ javax.mail.service.connect(service.java:156) @ javax.mail.service.connect(service.java:105) @ javax.mail.transport.send0(transport.java:168) @ javax.mail.transport.send(transport.java:98) caused by: java.net.socketexception: network unreachable @ java.net.plainsocketimpl.socketconnect(native method) @ java.net.abstractplainsocketimpl.doconnect(unknown source) @ java.net.abstractplainsocketimpl.connecttoaddress(unknown source) @ java.net.abstractplainsocketimpl.connect(unknown source) @ java.net.sockssocketimpl.connect(unknown source) @ java.net.socket.connect(unknown source) @ java.net.socket.connect(unknown source) @ com.sun.mail.util.socketfetcher.createsocket(socketfetcher.java:232) @ com.sun.mail.util.socketfetcher.getsocket(socketfetcher.java:189) @ com.sun.mail.smtp.smtptransport.openserver(smtptransport.java:1250) ... 8 more

however, if remove record able reach smtp server without problem. no matter values give java properties 'java.net.preferipv6addresses' 'java.net.preferipv4stack' programme able access smtp server when there aaaa record. how can tell java utilize aaaa record , prevent getting socket exception when both , aaaa records exist same hostname?

java dns ipv6 ipv4 socketexception

No comments:

Post a Comment