zoukankan      html  css  js  c++  java
  • 使用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

  • 相关阅读:
    request.getParameter() 、 request.getInputStream()和request.getReader() 使用体会
    HTTP之Content-Length
    关于spring3中No Session found for current thread!and Transaction的配置和管理(转)
    Java数据类型和MySql数据类型对应一览
    Spring MVC 解读——View,ViewResolver(转)
    LeetCode 441. Arranging Coins
    LeetCode 415. Add Strings
    LeetCode 400. Nth Digit
    LeetCode 367. Valid Perfect Square
    LeetCode 326. Power of Three
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/10110727.html
Copyright © 2011-2022 走看看