使用Groovy脚本生成csv文件并通过邮件发送

因为Groovy脚本插件在Pipeline中不能使用,故使用自由式配置

最终实现效果:

1、使用Groovy 脚本从数据库中获取所需数据并生成csv文件
2、将数据通过邮件发送

所用插件及版本

groovy 2.3
Email Extension 2.80

Groovy 配置

脚本内容就不贴了,因为使用了com.mysql.jdbc.Driver ,所以需要配置上mysql-connector-java-5.1.47.jar
提前下载后放到固定目录

这只是我自己摸索出来的方法,具体Groovy 的使用还在学习中。

邮件配置:

Extended E-mail Notification

填写SMTP server 及端口,右面有个高级,点开后将邮箱帐号和密码填进去,勾选使用ssl
下面有个 Allow sending to unregistered users ,勾选上
如果发件出问题,可以勾选 Enable Debug Mode ,看报错

邮件通知

配置SMTP 服务器,使用SMTP认证,填进去帐号密码,勾选ssl协议及端口

email-ext 的SMTP一定要配置,我以为会继承邮件通知的配置,最后一直报
Not sent to the following valid addresses

如果勾选了 Use TLS,发件失败,报
530 Must issue a STARTTLS command first

解决方法:

发件报
503 Error: need EHLO and AUTH first
可能原因有:
1、email-ext 的SMTP没有配置,debug模式下有日志 DEBUG SMTP: useEhlo true, useAuth false
2、qq邮箱等某些邮箱除了登录密码,还有一个单独的密码,需要配置这个密码

邮件配置如上;其他的错误基本在网上随便搜一下就能解决;

1赞