
 
            
                
                    不知道大家在工作中,是不是也和我一样需要经常发送邮件呢,邮件可以事前清晰传达,事后有据可查,同时还有利于保密,一般用于比较正式的交流。
最近发现建木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
   | 
 
邮件示例:
