使用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: "[email protected]", 
   to: "[email protected]",
   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

猜你喜欢

转载自www.cnblogs.com/rongfengliang/p/10110727.html
今日推荐