如何伪装邮件服务接收数据

接收数据

大家好最近碰到这样一个问题

就是我们经常会在群里边沟通

项目的使用情况

然后呢有一些用户啊或者领导啊

或者同事啊直接在群里边去发送

碰到的一些问题

如果证实了的确是 bug

我们必须要把它整理到

缺陷管理系统里

比如我们用的是 GitLab issues

但是呢整理的时候比较麻烦

我们需要首先把这个图片啊保存下来

然后再去整理文字

所以我就在想

能不能直接多选直接把这个聊天记录

对接到我们自己写的一个

接口上然后我们程序接收到以后呢

去对接给 gitlab 的 api 去创建 issues

但是呢

微信的这个转发他只能转发给朋友

或者转发给群

他不支持

转发给我们的某一个网络的接口

所以这条路是走不通了

但是呢后来我又翻了翻

他有一个添加至邮件

也就是说他可以把这个聊天记录

发送给某一个邮箱

然后就在想

我们是不是可以写个程序来

伪装成一个邮件服务器

只用来接收邮件

接收到邮件以后呢我们不做别的

把邮件的内容交给我们的程序

然后程序再去后续的去处理

从而变相的实现刚才这个需求

后来呢我就找到了两个类库

一个是用来伪装成

邮件服务器来监听25端口

一个是用来解析邮件内容的

然后把他们组合了一下

其实

也没有多少代码就可以实现这个功能

那这个代码呢

我已经把它放到这个 github(口误) 上了

就是这个地址

那接下来我给大家演示一下

具体应该怎么去配置这个东西

首先呢我们需要准备一个域名

(用来接收邮件服务的)

那这个域名呢需要加一个

mx 记录的一个解析

但这个

mx 记录他不能直接解析到 ip

所以呢嗯我们只能先加一个 A记录 (解析)

然后 A记录 的

呃域名地址随便写

我这里就写一个 smtp

然后解析到某一个 ip

然后我们再加 mx 记录把这个

mx 记录解析到刚才这个A记录上

这样的话就可以了

我们就去这个 ip 对应的主机上

把刚才那个

监听的服务部署上去就行了

那我已经登录上去了就是这个

然后呢

但是在启动之前我们需要做一件事哈

就是需要把这个

postfix 把这个服务停掉

因为他占用了25端口

但是这个呢一般又用不到

我们把它停掉就可以了

好接下来呢

我们需要配置这个 config.js 的配置文件

这里边规则是这样的

mail_domain

这个是用来配置我们邮箱域名的

就是我们刚才加的那个

MX记录的域名

也就是说:这是我们的

伪装的邮箱的地址的 后缀儿

然后这里边去配置这个发送者的邮箱

以及

对应的token

(使用哪个token去对接 gitlab 的 api)

这里边可以用多个逗号隔开

就是说张三发来的(邮件)

我们就用张三的token

然后李四发来的呢

我们就用李四的token

然后在这配置一下 gitlab 的根路径

就可以了

我已经配置好了

我就把它直接启动起来

那启动的时候大家注意

因为25端口一定要用root用户

所以这里边要

如果你不是root用户,要用 sudo (命令开头)

我现在是root用户

那我现在启动起来了,我们把日志打开

好大家看!已经在监听25端口了

我们来试一下

还是打开这个聊天记录我们多选

然后选择这个添加至邮件

收件人怎么写呢

(@)前面是项目 id

比如这个项目 id 是123

那就 123

然后 @

我们那个 邮箱地址

比如刚才那个是:xiaoshan.com

当然这是假的哈

为了每次以后方便哈

我们可以把这个邮件地址

添加到(手机)通讯录里

然后以后直接选择就行了

所以我这之前加好了

比如就这个项目

然后呢主题我们随便写一个

比如说我们就写

登录页错别字

好然后点击发送

好大家注意看这个日志

正在处理图片1

好创建成功

我们打开看一下

好这是创建完了大家看

包括图片也上来了

好!今天就到这里谢谢大家

再见

最后更新于