我在 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: [email protected]
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)从命令行无错误地发送邮件,无需身份验证,并且我可以 telnet 到端口 25 上的 SMTP 服务器,所以我不需要看看这怎么可能是防火墙问题。
另一个可能相关的说明:当我尝试通过 Jenkins Web 界面安装插件时,我收到 URL“http://updates.jenkins-ci.org/update-center”的 403 响应。 json?uctest”。 但是,我可以从同一台计算机上的浏览器连接到该 URL。
这可能是 Tomcat 配置问题吗? 我对 Tomcat 不熟悉,所以我不知道从哪里开始寻找。 也许我错过了詹金斯配置? 还有其他想法吗?
提前致谢!
FWIW nobody@nowhere 地址是 Jenkins 附带的系统管理员电子邮件地址的默认地址(发送电子邮件时用作发件人地址)
您可以在
更改它管理 Jenkins > 配置系统 > Jenkins 位置
首先,使用端口465
其次,在 AWS SES 中验证您的电子邮件,并从此处更改您的默认发送电子邮件: Jenkins -> 配置系统 -> Jenkins 位置 -> 系统管理员电子邮件地址
在我看来,您的防火墙仍然阻止 Jenkins 的服务访问这些端口 -
特别是当连接超时时,这是此类情况的典型情况。
建议您尝试完全禁用防火墙,看看是否有变化。
干杯
要检查 Jenkins 的连接问题,我会转到 Script Console(位于 Manage Jenkins -> Script Console),然后尝试连接到您要测试的端口(在您的情况下为 25),使用 Groovy 脚本,例如:
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 附带的系统管理员电子邮件地址的默认地址(发送电子邮件时用作发件人地址) 你可以更改它 管理 Jenkins > 配置系统 > Jenkins 位置
资源:
将端口更新为
587
以进行 SES 电子邮件通信,并将默认电子邮件表单 nobody@nowhere
更改为您的自定义 SES 上经过验证的电子邮件 对我有用。
感谢您提交编辑。只有您才可以看到它,直到得到可信社区成员的批准 首先,使用端口 465 其次,在 AWS SES 中验证您的电子邮件,然后从此处更改默认发送电子邮件:Jenkins -> 配置系统 -> Jenkins 位置 -> 系统管理员电子邮件地址
谢谢。它对我有帮助!
我的问题是“550-验证失败”