使用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
使用uflare/smtp2http 将smtp 转转化为http 请求的更多相关文章
- openresty 集成lua-resty-mail +smtp2http 扩展灵活的mail 服务
lua-resty-mail 是一个不错的openresty mail 扩展,我们可以用来进行邮件发送,支持附件功能 smtp2http 是一个smtp 服务,可以将smtp 请求数据转换为http ...
- linux服务之smtp
实现这个协议的软件太多,有sendmail,postfix等.不像snmp,基本上是net-snmp一统天下, yum install nc nc用来取代telnet 这里我们希望让大家知道网络协议中 ...
- java通过smtp发送电子邮件
package com.sm.modules.oa.web; import javax.mail.Session; import javax.mail.Transport; import javax. ...
- java代码发送邮箱验证码与qq邮箱smtp服务
发送邮箱的类封装,在此之前需要一个jar包 javax.mail.jar 下载链接https://github.com/javaee/javamail/releases/download/JAVAM ...
- 使用Java代码发送SMTP邮件
package cn.Douzi.send; import javax.mail.Session; import javax.mail.Transport; import javax.mail.int ...
- 电子邮件协议:SMTP、POP3、IMAP4
常见的电子邮件协议:SMTP.POP3.IMAP4 邮件发送协议:SMTP协议 邮件读取协议:POP3.IMAP4协议 SMTP协议(simple mail transfer protocol ...
- PHP 面试知识点整理归纳
基础篇了解大部分数组处理函数 array_chunk — 将一个数组分割成多个 array_column — 返回数组中指定的一列 array_combine — 创建一个数组,用一个数组 ...
- os常用模块,json,pickle,shelve模块,正则表达式(实现运算符分离),logging模块,配置模块,路径叠加,哈希算法
一.os常用模块 显示当前工作目录 print(os.getcwd()) 返回上一层目录 os.chdir("..") 创建文件包 os.makedirs('python2/bin ...
- EF中多表公共字段,以及设置EntityBase使所有实体类继承自定义类
使用EF框架访问数据库时,如果某些表具有公共字段,例如在审核流程中,对于各类申请单资料的创建人.创建时间.修改人.修改时间,这些可能多表都需要的字段,如果在每个实体中进行赋值操作显然是类似和重复的,下 ...
随机推荐
- SQL-5查找所有员工的last_name和first_name以及对应部门编号dept_no,也包括展示没有分配具体部门的员工
输出描述: 题目描述 查找所有员工的last_name和first_name以及对应部门编号dept_no,也包括展示没有分配具体部门的员工CREATE TABLE `dept_emp` (`emp_ ...
- spring相关jar包的作用讲解(转)
Spring各个jar包作用 原文链接:https://www.cnblogs.com/1995hxt/p/5255210.html Spring AOP:Spring的面向切面编程,提供AOP ...
- angular2架构详解
参考 http://codin.im/2016/09/18/angular2-architecture-intro/ http://www.tuicool.com/articles/EvEZjmZ ...
- sptring boot 修改默认Banner
一.自定义banner 启动Spring Boot项目时,在控制台或日志中会默认显示一个Banner,如图所示: 在我们的项目中更希望使用自己的Banner,这样看起来更帅写,但是这对于程序员来说并不 ...
- android-DNS服务找不到
1.重启eclipse 2.重新建立AVD 3.在建立AVD时sd卡数值不要填
- Final阶段贡献分配规则及实施
作业要求[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2479] 1.分配规则 final阶段开始,我们经过讨论,决定沿用alpha阶段 ...
- 使用ext httpProxy代理获取列表但列表展示不全的问题解决
今天项目中遇到一个奇葩的事情,使用ext的jsonstore通过httpproxy代理想要获取一个列表,页面显示是有五条数据的但是却只展示了2条,于是各种排查,后台确定无误后开始检查前台,发现浏览器中 ...
- <Spark><Spark Streaming><作业分析><JobHistory>
Intro 这篇是对一个Spark (Streaming)作业的log进行分析.用来加深对Spark application运行过程,优化空间的各种理解. Here to Start 从我这个初学者写 ...
- Fedora 10编程开发工具
1请问Fedora 10编程开发工具有什么 编辑器就用vim,编译用gcc,当然个人爱好随意 IDE的话推荐eclipse,如果做C/C++的,用codeblocks也是个不错的选择 输入gcc -v ...
- http头之keep-alive
1.什么是keep-alive模式? 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HT ...