java实现发邮件逻辑_Jenkins实现自动化邮件发送踩坑记录

本文介绍了如何在Jenkins中配置邮件功能,以便在构建成功或失败后自动发送通知。通过安装Email插件,设置系统和项目配置,确保管理员邮箱与授权账号一致,从而避免SMTP发送错误。配置完成后,构建结果会自动发送给指定负责人。
摘要由CSDN通过智能技术生成

文章简介

本文分享Jenkins实现邮件发送,安装Jenkins可参考jenkins安装。写这篇文章,是在实际使用Jenkins过程中遇到这样一个问题,当每次Jenkins构建成功或者失败后,需要个人登录Jenkins查看构建结果,同时在构建前做了数据备份,也需要手动的拷贝一份备份文件到本地。为了解决这个问题,便想到了Jenkins的邮件功能。在个人实践中,在每次master分支自动构建前,需要将数据库和代码打包、备份,在Jenkins构建结束之后,将备份的文件发送给对应的负责人。

文章部分细节的地方可能省略待过,因此需要对Jenkins有一定使用的用户比较合适,如果不熟悉的,可以参考上面提交的文章。文章涉及到不准确的信息还望反馈。

大致逻辑

1892d7d5db71b7592c4ba3bf13530495.png

接下来整个流程,也都按照该流程进行演示如何配置。

安装插件

首先点击管理,然后点击插件管理,跳转到插件中心。

c5ddba2201997cc8691db1022abdebe4.png

e4ff724a0d54a956ffce2bd74b071f12.png

如果没有安装过email对应的插件,点击可选插件按钮,然后输入email关键词,进行搜索即可。这里我已经安装过了,为了演示选择已安装菜单。

41e3099f9075de52fdf2be47662da090.png

在安装插件的过程中,需要注意一个版本号。2.73版本的插件有一个bug,就是配置正确却不能发送邮件。建议避开这个版本号。

系统配置

安装好插件之后,接下来就需要进入系统配置。进入系统配置,主要配置两个地方,一个是管理员的邮箱地址,一个是插件的配置信息。

3f002fdd8635333c05d1cd3d637612a5.png

224a2cf689a637a0cc5759df7fbf7942.png

98664fc9b99e1cbb134f2697844d13cc.png

1578b5abe1239e184a5cc81ca4fcd030.png

记住插件发送邮件的账号一定的和管理员的邮箱账号一致,否者会出现下面错误信息。

错误信息:

com.sun.mail.smtp.SMTPSenderFailedException: 553 Mail from must equal authorized user

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

Caused: com.sun.mail.smtp.SMTPSendFailedException: 553 Mail from must equal authorized user;

nested exception is:

com.sun.mail.smtp.SMTPSenderFailedException: 553 Mail from must equal authorized user

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(MethodHandle.java:627)

错误信息的大致意思就是说,邮箱的授权用户(插件配置的账号)和from(邮件发送者)账号不一致。

这里其实有点小困惑,邮件配置授权账户,为什么管理员的邮件账号还必须保持一致。按理来说,既然配置了授权用户,就采用配置的授权邮箱进行发送呗。可能是系统使用的管理员邮件发送。这里的配置授权仅仅是为了授权第三方邮箱账户吧。

0ccf9d1a012e443cae3a84b0c845136e.png

项目配置

接下来,我们创建一个任务测试发送邮件。至于具体的配置这里省略待过,直接记录配置邮件的地方。

a98eaf7f6181a59846663daaba788044.png

38ee4deeb4f01fc59196a65708c582ab.png

这里面就是针对该项目的具体配置信息,上面我们提交到系统配置,属于全局配置。如果这里没有配置,则默认走全局配置。大致的配置信息和全局配置都是相同的作用,可以根据不同的任务,自行配置即可。

798415a824b32663b0adee38e29f6325.png

d8424ade0b3b643887da10decf9bbf3b.png

1fb7e7f2220ae87c92d35347975687e7.png

邮件测试

最后配置完毕,当提交代码待仓库后,使用webhooks自动触发构建,登录邮箱就可以查看到下面的一些构建基础信息了。如果邮件需要更多的配置信息,直接到任务中去配置即可。

6e2f24882432a828768cb48b1f14ec3a.png

本作品采用《CC 协议》,转载必须注明作者和本文链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值