先说说传统临时邮箱的几个优缺点.
优点:
- 申请简便,基本上打开网页自动生成.
- 匿名度高,因为完全不知道这个临时邮箱背后是谁.
- 防止垃圾邮件,邮箱销毁后,发什么过来都收不到,自然也没有骚扰.
缺点:
- 邮件不能保存,通常在网页显示,关闭就没有了.
- 不能接收到后续发过来的邮件,使用临时邮箱注册账号容易被用作密码找回.
- 需要打开特定的网页才能接收,如果自己离开了就没法查看到新的邮件内容.
我这里实现一个新型的临时邮箱,兼顾上面的优点,解决下面的缺点,需要以下材料,请记住,所有折腾都要费时费力,如果自己太懒,那对不起了,没有又懒又好的东西.
- 1 个 VPS(或云主机,容器服务)
- 1 个 SendGrid 账号(全局才能注册,并且永远不要用国内IP登录,免费版即可,学生版更优)
- 1 个 testmail.app 账号(免费版即可,学生版更优)
首先,创建一个SQLite数据库,然后新建一个表,数据库文件名就叫email.db
CREATE TABLE email (id INTEGER PRIMARY KEY AUTOINCREMENT,uuid TEXT NOT NULL,eml TEXT NOT NULL,created_time TIMESTAMP default (datetime('now', 'localtime')));
然后新建一个Python脚本,脚本内容:https://gist.github.com/nickfox-taterli/1d4e54f3b5ec177a2add5ee3c7d0acbb
替换掉设置参数中的TESTMAIL_APP_KEY,TESTMAIL_SURFIX,TESTMAIL_LIMIT,SENDGRID_MAIL_SENDER_ACCOUNT,SENDGRID_APP_KEY,SENDGRID_MAIL_POST_ACCOUNT,BLACK_LIST_TAG参数,这些参数分别可以从SendGrid和testmail.app中获取.
然后安装pip包.
pip3 install gql json requests
最后执行脚本.
python3 ForwardMail.py
放后台让他一直挂着就行.(保持脚本运行)
这个临时邮箱怎么使用呢?我们就看testmail.app,他给了我们f31cc.{tag}@inbox.testmail.app这个地址,其中{tag}的部分是可以随便变得,比如发给f31cc.123@inbox.testmail.app和f31cc.hello@inbox.testmail.app都可以转发到我们之前指定得SENDGRID_MAIL_POST_ACCOUNT所示的邮箱.
那如果某个tag很多垃圾邮件,要封闭整个tag,只要把tag部分加入到BLACK_LIST_TAG这个list里面,就可以封闭整个tag,关于这个tag的邮件就不会转发给你了.
测试如下图,成功把邮件转发到我的Gmail.