不知道大家在工作中,是不是也和我一样需要经常发送邮件呢,邮件可以事前清晰传达,事后有据可查,同时还有利于保密,一般用于比较正式的交流。
最近发现建木CI官方已经提供了发送邮件的节点,真是太懂我了!
这里给大家介绍一下如何使用建木CI发送邮件!
1.查看节点文档
节点文档里面详细描述了每一个参数的信息,可以参考节点文档填写对应的参数
节点文档:https://jianmuhub.com/_/email
2.发送邮件
大家可以选择自己的邮箱服务器,我这里使用的163邮箱,SMTP服务器地址为:smtp.163.com
auth_code
参数为发件人邮箱授权码,在邮箱设置中获取,先开启SMTP服务,再获取授权码,如163邮箱:
2.1 发送文本邮件
type
参数表示邮件内容的类型,默认为plain
,表示普通文本。可选值:plain,html
DSL示例:
1 2 3 4 5 6 7 8 9 10 11
| name: 发送文本邮件 pipeline: send_email: type: email:1.0.0 param: host: smtp.163.com sender: xxx@163.com auth_code: ((email.authcode)) receivers: '["xxx@qq.com"]' subject: 文本邮件 text: 这是一个文本邮件
|
邮件示例:
2.2 发送html标签邮件
type
参数为html,会将邮件内容当成html标签
我们可以在text
参数中输入自己需要的html标签内容
DSL示例:
1 2 3 4 5 6 7 8 9 10 11 12
| name: 发送html邮件 pipeline: send_email: type: email:1.0.0 param: host: smtp.163.com sender: xxx@163.com auth_code: ((email.authcode)) type: html receivers: '["xxx@qq.com"]' subject: html邮件 text: <p>这是html邮件</p><img src="https://scpic.chinaz.net/files/pic/pic9/202109/apic35394.jpg" />
|
邮件示例:
2.3 发送带附件的邮件
attach_path
参数为附件路径,默认为空,表示不发送附件
注意:当路径为文件时,直接发送;当路径为目录时,会压缩为zip文件后再发送
附件路径一般为上游节点处理、输出的文件(夹)路径,我这里直接使用git_clone
节点克隆gitee仓库,将仓库中的文件夹作为附件路径输入
DSL示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| name: 发送附件邮件 pipeline: git_clone: type: git_clone:1.2.0 param: remote_url: https://gitee.com/xxx/xxx.git send_email: type: email:1.0.0 param: host: smtp.163.com sender: xxx@163.com auth_code: ((email.authcode)) type: html receivers: '["xxx@qq.com"]' subject: 附件邮件 text: <p>这是附件邮件</p><img src="https://scpic.chinaz.net/files/pic/pic9/202112/bpic25075.jpg" /> attach_path: ${git_clone.git_path}/data
|
邮件示例:
2.4 抄送、密送邮件
通过参数cc_receivers
设置抄件人邮箱
通过参数bcc_receivers
设置密送人邮箱
DSL示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| name: 发送抄送、密送邮件 pipeline: send_email: type: email:1.0.0 param: host: smtp.163.com sender: xxx@163.com auth_code: ((email.authcode)) type: html receivers: '["xxx@qq.com"]' cc_receivers: '["xxx@qq.com"]' bcc_receivers: '["xxx@qq.com"]' subject: 附件邮件 text: <p>这是附件邮件</p><img src="https://scpic.chinaz.net/files/pic/pic9/202112/bpic25075.jpg" />
|
邮件示例:
2.5 分别发送邮件
分别发送:会将邮件单独发送给每一个人(包括收件人、抄送人和密送人)
将参数separate_delivery
设为true
,表示分别发送邮件;默认为false,表示群发给多个人
DSL示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| name: 分别发送邮件 pipeline: send_email: type: email:1.0.0 param: host: smtp.163.com sender: xxx@163.com auth_code: ((email.authcode)) type: html receivers: '["xxx@qq.com"]' cc_receivers: '["xxx@qq.com"]' bcc_receivers: '["xxx@qq.com"]' subject: 附件邮件 text: <p>这是附件邮件</p><img src="https://scpic.chinaz.net/files/pic/pic9/202112/bpic25075.jpg" /> separate_delivery: true
|
邮件示例: