Jenkins & 电子邮件扩展插件 - 使用 Office365 SMTP 服务器发送电子邮件,501 5.5.4 域名无效

问题描述 投票:0回答:1

我正在尝试使用我的 Office365 SMTP 服务器通过电子邮件扩展插件通过 Jenkins 发送失败管道的电子邮件通知。在调试模式下使用失败的管道进行测试时,我得到了

501 5.5.4 Invalid domain name
。垃圾字符似乎不在 EHLO 和 HELO 命令之后,但我没有找到配置主机名的方法。还有人遇到这个吗?

Successfully created MimeMessage
Sending email to: [email protected]
DEBUG: getProvider() returning jakarta.mail.Provider[TRANSPORT,smtp,org.eclipse.angus.mail.smtp.SMTPTransport,Oracle]
DEBUG SMTP: need username and password for authentication
DEBUG SMTP: protocolConnect returning false, host=smtp-mail.outlook.com, user=jenkins, password=<null>
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.office365.com", port 587, isSSL false
220 BN9PR03CA0850.outlook.office365.com Microsoft ESMTP MAIL Service ready at Thu, 29 Aug 2024 20:27:00 +0000 [08DCC75C8712D891]
DEBUG SMTP: connected to host "smtp.office365.com", port: 587
EHLO internalr8.internal���������������
501 5.5.4 Invalid domain name [BN9PR03CA0850.namprd03.prod.outlook.com 2024-08-29T20:27:06.007Z 08DCC75C8712D891]
HELO internalr8.internal���������������
501 5.5.4 Invalid domain name [BN9PR03CA0850.namprd03.prod.outlook.com 2024-08-29T20:27:11.007Z 08DCC75C8712D891]
MessagingException message: 501 5.5.4 Invalid domain name [BN9PR03CA0850.namprd03.prod.outlook.com 2024-08-29T20:27:11.007Z 08DCC75C8712D891]

我目前的理论是,它所拾取的主机的某些内容导致了语法错误。我能够使用

swak
从命令行发送测试电子邮件,因此 SMTP 服务器正在运行并且可以使用服务器主机名。我有一个不同的詹金斯主机名。

在 /etc/hosts 中,同一 IP 地址有多个 FQDN(IT 维护):

XX.X.X.XX       internalr8.internal                internal-alias      internal.internal

我的 Jenkins 位置是

https://internal.internal/
,我的 Jenkins 配置中有
"JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dmail.smtp.starttls.enable=true"

jenkins smtp office365 email-ext jenkins-email-ext
1个回答
0
投票

这是由 /etc/hosts 文件中的隐藏字符引起的。

这是 cat /etc/hosts 的输出

XX.X.X.XX       internalr8.internal                internal-alias      internal.internal

但这是 cat -v /etc/hosts 查找隐藏字符的输出:

XX.X.X.XX       internalr8.internalM-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM-  internal-alias   internal.internal

这与 EHLO/HELO 命令输出中的未知字符数 (15) 匹配。隐藏字符可能是由某人的文本编辑器添加的,并且大多数事情在大多数情况下都有效......但显然不是这个插件:)

自从删除它们后,插件就完美运行了!

© www.soinside.com 2019 - 2024. All rights reserved.