使用uflare/smtp2http 将smtp 转转化为http 请求
uflare/smtp2http 是一个很不错的工具,我们使用这个工具,可以快速的将smtp 服务转换为http 服务
用途实际上挺多的
- devops 系统
- 需要使用smtp的系统(测试)
- 基于smtp 的报警系统
。。。。
环境准备
- docker-compose 文件
包好了一个基于nodejs 的smtp 发送代码以及基于benthos 的webhook 功能,还有就是smtp 服务
version: "3"
services:
send:
build: ./
benthos:
image: jeffail/benthos
volumes:
- "./conf/webhook.yaml:/benthos.yaml"
ports:
- "4195:4195"
smtp2http:
image: uflare/smtp2http
command: --listen=:25 --webhook=http://benthos:4195/ --strict=false
- 代码说明
smtp 发送服务:
主要是nodejs 代码,很简单,就是使用emailjs 包进行发送就可以了
var email = require("emailjs");
var server = email.server.connect({
host: "smtp2http",
ssl: false
});
server.send({
text: "dalongdemo",
from: "1141591465@qq.com",
to: "dalongrong@qq.com",
subject: "dalongdemo"
}, function(err, message) { console.log(err || message); });
webhook 功能:
主要是配置文件,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
- 发送smtp 效果
docker-compose start send
- 日志信息
docker-compose logs -f benthos
类似如下:
benthos_1 | get email message: addresses%5Bbcc%5D=&addresses%5Bcc%5D=&addresses%5Bfrom%5D=1141591465%40qq.com&addresses%5Bto%5D=dalongrong%40qq.com&body%5Bhtml%5D=&body%5Btext%5D=
dalongdemo%0A%0A%0A%0D%0A.%0D&id=%3C1544615810098.0.28%40aa65cd708904%3E&subject=dalongdemo
说明
使用smtp2http 我们可以做好多时间,比如开发中的功能测试,devops 的应用集成,以及基于smtp 的监控系统。。。
参考资料
https://github.com/rongfengliang/smtp2http-docker-compose
https://github.com/uflare/smtp2http
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)