在gayhub上发现了两个玩具,可以自建的一次性邮箱:

https://github.com/synox/disposable-mailbox
https://github.com/synox/void-mail

本身这两个程序是很好部署的,但是都需要一个支持catch-all的imap。。这就有点蛋疼了,现在的邮箱很少有提供这种功能的。。

突然灵机一动,发现以前部署过的poste是支持catch-all的,并且poste还支持smtp/imap,美滋滋~

因为端口方面有冲突,所以这里准备两台VPS,系统均是Debian10,一台用来部署poste,另外一台用来部署disposable-mailbox以及void-mail。需要注意的是poste这台机器内存至少要2GB。

部署Poste前需要先把DNS解析记录配置好,参考:

这里补充一下关于RDNS的设置,也就是常说的PTR记录,这个记录只能在你的VPS服务商设置,有的商家提供此服务,有的不提供,不提供的话就没办法了,我演示的这个环境是在DigitalOcean上的,直接修改你这个实例的名字就等于是设置RDNS了:

lala.im_2019-09-15_20-48-54

验证是否生效,可以用BestTrace跟踪一下路由得知,如果主机名这里有显示就说明OK了:

lala.im_2019-09-17_11-35-01

小声bb:即便你的DNS解析记录/PTR记录设置的再规范,该进垃圾箱还是一样进垃圾箱,并没有什么卵用。

现在开始部署Poste,首先安装Docker:

apt -y update
apt -y install curl
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker

设置时区为东八区:

timedatectl set-timezone Asia/Shanghai

然后一条命令启动即可:

docker run \
    -p 25:25 \
    -p 80:80 \
    -p 110:110 \
    -p 143:143 \
    -p 443:443 \
    -p 465:465 \
    -p 587:587 \
    -p 993:993 \
    -p 995:995 \
    -p 4190:4190 \
    -v /etc/localtime:/etc/localtime:ro \
    -v /opt/poste/data:/data \
    --name "poste" \
    -h "mail.koko.cat" \
    -t analogic/poste.io

注:-h参数里面的域名改成你自己的。

现在登录到Poste内创建一个新的邮箱:

lala.im_2019-09-15_21-03-14

然后编辑你的域名设置:

lala.im_2019-09-15_21-03-59

勾选Domain bin,然后在下面选择刚创建的邮箱账号:

lala.im_2019-09-15_21-04-29

这样一个具有catch-all功能的邮箱就设置好了。

接下来我们就可以在另外一台VPS内部署临时邮箱服务了,disposable-mailbox以及void-mail的安装方法我都会写在这里,但实际上你只需要选择其中一种即可,因为这两个东西实际上是一个玩意,只是实现的语言不一样,一个是PHP一个是Nodejs。

部署disposable-mailbox,安装所需的软件:

apt -y install git nginx php7.3-common php7.3-fpm php7.3-cli php7.3-gd php7.3-imap

拉取项目代码/复制一份配置文件:

git clone https://github.com/synox/disposable-mailbox.git
cd disposable-mailbox
mv src /var/www/disposable-mailbox
cp /var/www/disposable-mailbox/config.sample.php /var/www/disposable-mailbox/config.php

编辑配置文件:

nano /var/www/disposable-mailbox/config.php

需要改动的地方如下图红框内的:

lala.im_2019-09-17_11-21-22

新建Nginx站点配置文件:

nano /etc/nginx/conf.d/mailbox.conf

写入:

server {
    listen       80;
    server_name  disposable.koko.cat;
    index        index.html index.htm index.php;
    root         /var/www/disposable-mailbox;
    client_max_body_size 50m;

    location ~ \.php$ {
        fastcgi_pass   unix:/run/php/php7.3-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

重启Nginx完成disposable-mailbox的部署:

systemctl restart nginx

接下来部署void-mail,安装所需软件:

apt -y install build-essential supervisor curl git nginx
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt -y install nodejs

拉取项目文件/安装依赖:

cd /opt
git clone https://github.com/synox/void-mail.git
cd void-mail
npm install

新建一个环境变量配置文件:

nano /etc/profile.d/void-mail.sh

写入如下配置:

export DOMAIN=koko.cat
export IMAP_SERVER=mail.koko.cat 
export IMAP_USER=disposable@koko.cat
export IMAP_PASSWORD=你的IMAP服务密码

使其生效:

chmod  x /etc/profile.d/void-mail.sh
source /etc/profile.d/void-mail.sh

测试运行(没报错的话就键盘组合键ctrl x退出来):

npm run start

启动supervisor:

systemctl enable supervisor
systemctl start supervisor

新建supervisor配置文件:

nano /etc/supervisor/conf.d/void-mail.conf

使用下面的配置守护void-mail进程:

[program:void-mail]
priority=1
environment=DOMAIN="koko.cat",IMAP_SERVER="mail.koko.cat",IMAP_USER="disposable@koko.cat",IMAP_PASSWORD="你的IMAP服务密码"
directory=/opt/void-mail
command=/usr/bin/npm run start
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/supervisor/void-mail.log

更新配置:

supervisorctl update

管理命令:

supervisorctl status void-mail
supervisorctl start void-mail
supervisorctl stop void-mail
supervisorctl restart void-mail

新建Nginx站点配置文件:

nano /etc/nginx/conf.d/voidmail.conf

写入下面的配置反代void-mail:

server {
    listen       80;
    server_name  voidmail.koko.cat;
    client_max_body_size 50M;

    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
        proxy_pass http://127.0.0.1:3000;
    }
}

重启Nginx完成配置:

systemctl restart nginx

最后来测试一下是否可以正常工作。

disposable-mailbox:

lala.im_2019-09-17_11-44-16

void-mail:

lala.im_2019-09-17_11-48-25

夜河资源网提供的所有内容仅供学习与交流。通过使用本站内容随之而来的风险以及法律责任与本站无关,所承担的法律责任由使用者承担。
一、如果您发现本站侵害了相关版权,请附上本站侵权链接和您的版权证明一并发送至邮箱:yehes#qq.com(#替换为@)我们将会在五天内处理并断开该文章下载地址。
二、本站所有资源来自互联网整理收集,全部内容采用撰写共用版权协议,要求署名、非商业用途和相同方式共享,如转载请也遵循撰写共用协议。
三、根据署名-非商业性使用-相同方式共享 (by-nc-sa) 许可协议规定,只要他人在以原作品为基础创作的新作品上适用同一类型的许可协议,并且在新作品发布的显著位置,注明原作者的姓名、来源及其采用的知识共享协议,与该作品在本网站的原发地址建立链接,他人就可基于非商业目的对原作品重新编排、修改、节选或者本人的作品为基础进行创作和发布。
四、基于原作品创作的所有新作品都要适用同一类型的许可协议,因此适用该项协议, 对任何以他人原作为基础创作的作品自然同样都不得商业性用途。
五、根据二〇〇二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可不经软件著作权人许可,无需向其支付报酬!
六、鉴此,也望大家按此说明转载和分享资源!本站提供的所有信息、教程、软件版权归原公司所有,仅供日常使用,不得用于任何商业用途,下载试用后请24小时内删除,因下载本站资源造成的损失,全部由使用者本人承担!