该路已经走通,效果非常舒爽。
参考资料
上面的参考资料都不要看了,看下面的
该项目的备用链接
如果,你不需要构建服务器,可以参考
前构知识
- 构建服务器必须要
25
端口- 因为协议原因,别人给你发送邮件只能发送到
25
端口 - 具体内容自己搜索,这里不再说了
- 因为协议原因,别人给你发送邮件只能发送到
- 各大服务商都不可能开放
25
端口 - 虽然
25
端口的出服务开不了,但是入服务是不关闭的- 你不能用服务器发送邮件,但是,可以用服务器接收邮件
- 阿里云亲测成功
- 构建邮箱服务器需要域名
达到的效果
用于批量注册平台,用 python
做邮箱服务器,按照购买的域名,可以随意写邮箱接收地址,然后,本地 python
能够读取到。做到,全自动化获取邮件内容。
依靠的开源项目
这个开源项目说的很清楚了,只要一步步的构建就好了。
这里重点说一下,域名解析。
有的时候,你只添加了邮箱解析,但是,你根本不知道有没有解析成功。
所以,我在服务器上安放了一个网页,并且做了 www
解析,同时,也配置了邮箱解析,如果,我可以通过域名访问到该网页,那么,邮箱解析也没有问题了。
这里,我贴一下我的解析内容。
相关的解析方案,我贴一下上面的教程
打开域名管理,以阿里云为例,加入两条信息
加入一条 A
记录,指向我们将要部署的服务IP地址
A mx 6x.216.2xx.1xx
加入一条 MX
记录,指向上面配置的收邮件的域名地址。
MX * mx.sayhiai.com
注意 *
号,意思是所有的域名包括二级域名等,都会被收到。比如xxxx@sayhiai.com
、 xjksfdsf@dfjsdlfjsd.sayhiai.com
。 是不是无穷无尽?
ps: 服务商要开启 25
端口的入方向。
2024-4-27
上面说的非常笼统,这里我再说一下怎么完整的构建。
我在 aws
上购买了服务器,用的是 ubuntu 22.04
。
这个系统自带 python3.10
,但是 pip
需要我们自己装
1 | sudo apt install python3-pip |
在安装的过程中可以跳出弹框让我们选择,我们直接 enter
就好了。
因为,我们要绑定 25
端口,所以,我们需要 sudo
权限。
1 | sudo pip3 install flask |
进入项目,修改 cfg.ini
,将 127.0.0.1
改成 0.0.0.0
然后运行
1 | sudo nohup python3.10 main.py & |
即可。
使用 http://ip:14000
访问。
记住,服务器的入站规则必须开启 14000
和 25
。
另外,我再贴一下域名解析的规则,感觉比上面简单一些。
当然,这个网站也有 api
,请查看 web.py
。
源码修改
我接不到某一网站发的特定邮件怎么办?
说明这个网站发送的内容不符合这份代码的解析。主要修改 smtpx.py
的 handle_DATA
函数。
比如,我将某一个修改成
1 | async def handle_DATA(self, server, session, envelope): |
修改接收邮件的大小
如果 100
封非常多,可以将这个数值改小。
主要是 data.py
的 limit
大小。