Jenkins SMTP TLS -


i'm trying setup jenkins use our company's smtp server email build notifications. using tls encryption method on port 587. can not seem email notification work though.

here hudson.tasks.mailer.xml file can see config (i've removed smtp auth user , password , changed smtphost in case)

<hudson.tasks.mailer_-descriptorimpl> <helpredirect/> <defaultsuffix></defaultsuffix> <hudsonurl>http://localhost:8080/</hudsonurl> <smtpauthusername></smtpauthusername> <smtpauthpassword></smtpauthpassw$ <adminaddress></adminaddress> <smtphost>pod#####.outlook.com</smtphost> <usessl>true</usessl> <smtpport>587</smtpport> <charset>utf-8</charset> </hudson.tasks.mailer_-descriptorimpl> 

it looks known issue, http://issues.hudson-ci.org/browse/hudson-2206

i not familiar apple os (which machine running jenkins) thought resolve issue using workaround mentioned. wasn't sure put workaround though, tried putting here: /library/application support/jenkins/jenkins-runner.sh

defaults="defaults read /library/preferences/org.jenkins-ci" war=`$defaults war` || war="/applications/jenkins/jenkins.war" javaargs="-dmail.smtp.starttls.enable=\"true\"" heapsize=`$defaults heapsize` && javaargs="$javaargs -xmx${heapsize}" permgen=`$defaults permgen` && javaargs="$javaargs -xx:maxpermsize=${permgen}" home=`$defaults jenkins_home` && export jenkins_home="$home" add_to_args() { val=`$defaults $1` && args="$args --${1}=${val}" } args="" add_to_args prefix add_to_args httpport add_to_args httplistenaddress add_to_args httpsport add_to_args httpslistenaddress add_to_args ajp13port add_to_args ajp13listenaddress echo "jenkins_home=$jenkins_home" echo "jenkins command line execution" echo /usr/bin/java $javaargs -jar "$war" $args exec /usr/bin/java $javaargs -jar "$war" $args 

that didn't appear resolve it. can see call in console when jenkins started up, when try test configuration email following error:

failed send out e-mail javax.mail.messagingexception: not connect smtp host: pod#####.outlook.com, port: 587; nested exception is: javax.net.ssl.sslexception: unrecognized ssl message, plaintext connection? @ com.sun.mail.smtp.smtptransport.openserver(smtptransport.java:1934) @ com.sun.mail.smtp.smtptransport.protocolconnect(smtptransport.java:638) @ javax.mail.service.connect(service.java:317) @ javax.mail.service.connect(service.java:176) @ javax.mail.service.connect(service.java:125) @ javax.mail.transport.send0(transport.java:194) 

any ideas on else can try? i've tried switching email account use gmail's smtp server , works fine, i'd rather have using our smtp server if can.

i had same issue jenkins mine installed on centos rather apple os. still thought post solution here because a) might able make needed adjustments solution , b) linux & jenkins users might benefit this.

anyhow, find jenkins configuration file (in centos in /etc/sysconfig/jenkins)

in locate jenkins_java_options variable , add following option "-dmail.smtp.starttls.enable=true" in case had before:

jenkins_java_options="-djava.awt.headless=true" 

and after;

jenkins_java_options="-djava.awt.headless=true -dmail.smtp.starttls.enable=true" 

restart jenkins server (in linux)

/etc/init.d/jenkins restart 

Comments

Popular posts from this blog

javascript - backbone.js Collection.add() doesn't `construct` (`initialize`) an object -

php - Get uncommon values from two or more arrays -

Adding duplicate array rows in Php -