在Windows上从jenkins发送电子邮件时,必须首先发出STARTTLS命令

时间:2017-06-21 00:45:04

标签: java jenkins smtp

我在我的Windows桌面上安装了jenkins,并且配置它以从我的Outlook帐户发送电子邮件时遇到问题,因为它使用TLS而不是SSL。我做了一些研究,一些论坛建议将JENKINS_JAVA_OPTIONS添加到jenkins.xml文件并重新启动,但这对我没用。

JENKINS_JAVA_OPTIONS -Djava.awt.headless = true -Dmail.smtp.starttls.enable = true

我的SMTP设置是 SERVER smtp-mail.outlook.com SMTP端口587 未选中使用SSL 用户名 ***** 密码******

错误如下 com.sun.mail.smtp.SMTPSendFailedException:530 5.7.0必须首先发出STARTTLS命令

  at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2057)

  at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1580)

  at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1097)

  at javax.mail.Transport.send0(Transport.java:195)

  at javax.mail.Transport.send(Transport.java:124)

  at hudson.tasks.Mailer$DescriptorImpl.doSendTestMail(Mailer.java:581)

  at java.lang.invoke.MethodHandle.invokeWithArguments(Unknown Source)

  at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:343)

  at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:184)

1 个答案:

答案 0 :(得分:1)

您可以配置jenkins配置文件以启用TLS。对于ubuntu,它位于路径/etc/default/jenkins中。 使用以下语句来执行此操作。

JAVA_ARGS = "-Djava.awt.headless=true -Dmail.smtp.starttls.enable=true"
它对我有用。祝你好运。