我在我的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)
答案 0 :(得分:1)
您可以配置jenkins配置文件以启用TLS。对于ubuntu,它位于路径/etc/default/jenkins
中。
使用以下语句来执行此操作。
JAVA_ARGS = "-Djava.awt.headless=true -Dmail.smtp.starttls.enable=true"
它对我有用。祝你好运。