8

我在 Windows 7 机器上安装了 Jenkins 版本 1.524,我正在尝试配置电子邮件,但“测试配置”正在报告错误。Jenkins 在我自己的域帐户下作为服务运行。

我的设置如下:

SMTP server: smtp.corpdomain.com
Default user email suffix: @corpdomain.com
Not using authentication
Not using SSL
SMTP port: 25
Reply-To Address: tools@corpdomain.com
Charset: UTF-8

当我测试配置时,我通常会得到以下异常:

javax.mail.MessagingException: Could not connect to SMTP host: smtp.amazon.com, port: 25;
  nested exception is:
    java.net.ConnectException: Connection timed out: connect

然而,每隔一段时间,我就会收到以下信息:

com.sun.mail.smtp.SMTPSendFailedException: 553 5.1.8 <nobody@nowhere>... Domain of sender address nobody@nowhere does not exist
;
  nested exception is:
    com.sun.mail.smtp.SMTPSenderFailedException: 553 5.1.8 <nobody@nowhere>... Domain of sender address nobody@nowhere does not exist

但是,我能够通过 python 脚本和 java(使用 javax.mail)从命令行发送邮件而没有错误,而无需身份验证,并且我能够远程登录到端口 25 上的 SMTP 服务器,所以我看不到怎么可能是防火墙问题。

另一个可能相关的注意事项:当我尝试通过 Jenkins Web 界面安装插件时,我收到 URL 的 403 响应“ http://updates.jenkins-ci.org/update-center.json?测试”。但是,我可以从同一台机器上的浏览器连接到该 URL。

这可能是Tomcat配置问题吗?我不熟悉Tomcat,所以我不知道从哪里开始寻找。也许我错过了一个 Jenkins 配置?还有其他想法吗?

提前致谢!

4

5 回答 5

19

FWIW nobody@nowhere 地址是 Jenkins 为系统管理员电子邮件地址提供的默认地址(在发送电子邮件时用作发件人地址)

你可以改变它

管理 Jenkins > 配置系统 > Jenkins 位置

于 2015-08-11T23:11:55.170 回答
4

首先,使用端口 465

其次,在 AWS SES 中验证您的电子邮件,并从此处更改您的默认发送电子邮件:Jenkins -> 配置系统 -> Jenkins 位置 -> 系统管理员电子邮件地址

于 2017-11-17T01:25:31.607 回答
1

在我看来,您的防火墙仍然阻止 Jenkins 的服务访问这些端口 -
特别是在连接超时时,这在这种情况下很常见。

建议您尝试完全禁用防火墙,看看是否有任何变化。

干杯

于 2013-08-05T18:57:09.210 回答
1

要检查 Jenkins 的连接问题,我会转到Manage Jenkins -> Script Console脚本控制台,然后尝试使用Groovy脚本连接到您要测试的端口(在您的情况下为 25) :

s = new Socket()
s.setSoTimeout(200)
s.connect(new InetSocketAddress("smtp.corpdomain.com", 25), 200)
s.close()

如果您没有收到任何类型的IOError,则连接没有问题。

注意:我可以简单地使用new Socket("smtp.corpdomain.com", 25),但如果防火墙忽略您的尝试,它将永远尝试连接。

对于SMTPSendFailedException您最终收到的,正如@paul-henry 提到的:

nobody@nowhere 地址是 Jenkins 为系统管理员电子邮件地址提供的默认地址(在发送电子邮件时用作发件人地址),您可以在 Manage Jenkins > Configure System > Jenkins Location 中更改它

资源:

于 2017-06-02T19:48:02.420 回答
-1

感谢您提交编辑。它只有在首先获得受信任的社区成员批准后才对您可见,其次使用端口 465,在 AWS SES 中验证您的电子邮件,然后从此处更改您的默认发送电子邮件:Jenkins -> 配置系统 -> Jenkins 位置 -> 系统管理员电子邮件地址

谢谢。它帮助到我!

我的问题是“550 验证失败”

于 2020-04-20T21:23:46.393 回答