不知道大家在工作中,是不是也和我一样需要经常发送邮件呢,邮件可以事前清晰传达,事后有据可查,同时还有利于保密,一般用于比较正式的交流。
最近发现建木 CI 官方已经提供了发送邮件的节点,真是太懂我了!
这里给大家介绍一下如何使用建木 CI 发送邮件!
1.查看节点文档
节点文档里面详细描述了每一个参数的信息,可以参考节点文档填写对应的参数
节点文档:https://jianmuhub.com/_/email
2.发送邮件
大家可以选择自己的邮箱服务器,我这里使用的 163 邮箱,SMTP 服务器地址为:http://smtp.163.com
auth_code
参数为发件人邮箱授权码,在邮箱设置中获取,先开启 SMTP 服务,再获取授权码,如 163 邮箱:
2.1 发送文本邮件
type
参数表示邮件内容的类型,默认为plain
,表示普通文本。可选值:plain,html
DSL 示例:
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 示例:
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 示例:
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 # git仓库中的文件路径
复制代码
邮件示例:
2.4 抄送、密送邮件
通过参数cc_receivers
设置抄件人邮箱
通过参数bcc_receivers
设置密送人邮箱
DSL 示例:
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 示例:
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
复制代码
本文为建木博主「早春的树」的原创投稿文章,转载请联系授权。
项⽬官⽹
项⽬托管
项⽬文档
在线体验
评论