Дженкинс SMTP TLS

Я пытаюсь настроить Jenkins на использование SMTP-сервера нашей компании для отправки уведомлений о сборке по электронной почте. Мы используем TLS в качестве метода шифрования на порту 587. Однако я не могу заставить уведомление по электронной почте работать должным образом.

Вот мой файл Hudson.Tasks.Mailer.xml, чтобы вы могли увидеть мою конфигурацию (Я удалил пользователя и пароль для аутентификации SMTP и немного изменил smtpHost на всякий случай)


  
  
  http://localhost:8080/
  
  
  pod#####.outlook.com
  true
  587
  UTF-8

Похоже, это известная проблема,изhttp://issues.hudson-ci.org/browse/HUDSON-2206

Я не очень хорошо знаком с Apple OS (, на которой работает Jenkins ), но я подумал, что смогу решить проблему, используя упомянутый обходной путь. Я не был точно уверен, куда поместить этот обходной путь, поэтому я попытался разместить его здесь :/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

Это, похоже, не решило это. Я вижу этот вызов в консоли при запуске Jenkins, но когда я пытаюсь отправить электронное письмо с тестовой конфигурацией, я получаю следующую ошибку:

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)

Любые идеи о том, что еще я могу попробовать? Я попытался переключить учетную запись электронной почты на использование smtp-сервера gmail, и это работает нормально, но я бы предпочел использовать наш smtp-сервер, если смогу.

18
задан groverboy 16 June 2017 в 08:46
поделиться