如何伪装邮件服务接收数据
接收数据
大家好最近碰到这样一个问题
就是我们经常会在群里边沟通
项目的使用情况
然后呢有一些用户啊或者领导啊
或者同事啊直接在群里边去发送
碰到的一些问题
如果证实了的确是 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
好创建成功
我们打开看一下
好这是创建完了大家看
包括图片也上来了
好!今天就到这里谢谢大家
再见
最后更新于