Estoy tratando de configurar a Jenkins para usar el servidor SMTP de nuestra empresa para enviar notificaciones de compilación por correo electrónico. Estamos utilizando TLS como el método de cifrado en el puerto 587. Sin embargo, parece que no puedo hacer que la notificación por correo electrónico funcione correctamente.Jenkins SMTP TLS
Aquí está mi archivo Hudson.Tasks.Mailer.xml para que pueda ver mi config (He quitado el usuario de autenticación SMTP y la contraseña y ha cambiado ligeramente el smtpHost por si acaso)
<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>
Parece como este es un problema conocido, desde http://issues.hudson-ci.org/browse/HUDSON-2206
No estoy muy familiarizado con Apple OS (que es la máquina que ejecuta Jenkins) pero pensé que podría resolver el problema utilizando la solución mencionada. No estaba muy seguro de dónde poner solución que, sin embargo, así que traté de ponerlo aquí: /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 for execution"
echo /usr/bin/java $javaArgs -jar "$war" $args
exec /usr/bin/java $javaArgs -jar "$war" $args
que no aparecieron para resolverlo. Puedo ver esa llamada en la consola cuando Jenkins se pone en marcha, pero cuando trato de un correo electrónico de configuración de la prueba me sale el siguiente error:
Failed to send out e-mail
javax.mail.MessagingException: Could not connect to SMTP host: pod#####.outlook.com, port: 587;
nested exception is:
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1934)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
Alguna idea sobre lo más que pueda probar? Intenté cambiar la cuenta de correo electrónico para usar el servidor smtp de gmail y funciona bien, pero prefiero usarlo en nuestro servidor smtp si puedo.
en Ubuntu, el fichero de configuración Jenkins está en/etc/default/Jenkins – bruThaler
Probé que estoy recibiendo el siguiente error ahora . - Error al enviar el correo electrónico com.sun.mail.smtp.SMTPSendFailedException: 550 5.7.1 El cliente no tiene permisos que enviar como este remitente en com.sun.mail.smtp.SMTPTransport.issueSendCommand (SMTPTransport.java:2057) en com.sun.mail.smtp.SMTPTransport.finishData (SMTPTransport.java:1862) atcom.sun.mail.smtp.SMTPTransport.sendMessage (SMTPTransport.java:1100) en javax.mail.Transport.send0 (Transporte. java: 195) en javax.mail.Transport.send (Transport.java:124) en hudson.tasks.Mailer $ DescriptorImpl.doSendTestMail (Mailer.java:499) –
El "cliente no tiene permisos que enviar como" me molestó hasta que me di cuenta de que no había configurado la "dirección de correo electrónico de administración del sistema" – espenalb