smtp2http 是一个很方便的可以将smtp 转换为http 服务的工具,同时也支持扩展的开发,我们可以使用此工具
扩展灵活的ci、cd 生命周期管理,而不是简单的邮件处理
备注: 使用docker-compose 运行
环境准备
- docker-compose 文件
注意为了方便使用了一个webhook 的工具
version: "3"
services:
app:
image: jenkins/jenkins:lts-alpine
ports:
- "8080:8080"
volumes:
- "./app:/var/jenkins_home"
benthos:
image: jeffail/benthos
volumes:
- "./conf/webhook.yaml:/benthos.yaml"
ports:
- "4195:4195"
smtp2http:
image: dalongrong/smtp2http
command: --listen=:25 --webhook=http://benthos:4195/ --strict=false
- web hook 配置
conf/webhook.yaml
input:
type: broker
broker:
inputs:
- type: http_server
http_server:
path: /
processors:
- type: text
text:
operator: prepend
value: "get email message: "
output:
type: stdout
启动&&配置&&测试
- 启动
docker-compose up -d
- 配置
包括jenkins 的初始化,这个比较简单,选择默认的,等待并创建第一个账户就可以了
配置邮件如下:
添加*项目&&配置邮件通知
- 添加job
- 配置构建
构建触发
post 构建
邮件发送策略
- 构建
email send 日志
说明
这个只是简单的stdout 信息,实际我们可以解析请求的内容,并根据规则重新发送
参考资料
https://github.com/rongfengliang/jenkins-smtp2http_dokcer-running