临时邮箱搭建Forsaken-Mail(搭建临时邮箱)

发布时间: 2022-10-04 热度: 4725

之前都是将域名绑定到G Suite或者Office 365来搭建域名邮箱,最近服务器闲置地有点多,为了不吃灰,拿来搭建一个零时邮箱!

demo:https://patriotic.ml

 

项目地址:https://github.com/denghongcai/forsaken-mail ,项目作者写的步骤有点不怎么清楚,这里将自己的摸索过程记录如下

 

1. 安装

安装Docker

复制
curl -fsSL https://get.docker.com -o get-docker.shbash get-docker.sh

拉取镜像

复制
docker run --name forsaken-mail -d -p 25:25 -p 3000:3000 denghongcai/forsaken-mail

疑难杂症

1. 如果提示Error starting userland proxy: listen tcp4 0.0.0.0:25: bind: address already in use.,一般是由于sendmail占用了25端口。查找是25端口被谁占用:

复制
sudo netstat -pna | grep 25tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 28656/sendmail: MTA 

这里可以看到的确是sendmail占用了25端口,由于这里用不到sendmail,立即停止sendmail

复制
/etc/init.d/sendmail stop
docker container rm forsaken-mail

并重新拉取镜像

复制
docker run --name forsaken-mail -d -p 25:25 -p 3000:3000 denghongcai/forsaken-mail

安装成功,应该就可访问网站了: http://IP:3000/

2. 如果访问不了,可前往宝塔安全设置,放行3000端口

 

2. 设置DNS记录

只需要添加 MX 、A 两个记录即可

类型:MX
名称:patriotic.ml
邮件服务器:mx.patriotic.ml
TTL:自动
优先级:10

 

类型:A
名称:mx.patriotic.ml
IPv4 地址:184.33.16.112(自己的服务器地址)
TTL:自动

 

宝塔新建网站

宝塔新建网站,域名填paelic.org,其他默认

 

宝塔设置Nginx反代

 

至此,便可以用域名访问,而不用IP加端口访问了!

 

4. 修改网站内容

复制
root@google:~# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c7a10eb9f879 denghongcai/forsaken-mail "/bin/sh -c 'npm sta…" 5 minutes ago Up 5 minutes 0.0.0.0:25->25/tcp, :::25->25/tcp, 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp forsaken-mailroot@google:~# docker exec -it c7a10eb9f879 bash
复制
apt-get install vim && vim public/index.html

如果vim打开后中文乱码,那么在vim normal模式输入冒号后进入命令模式,再输入

复制
set encoding=utf-8

回车。乱码应该立马变正常。

 

5. 一些docker命令

由于程序是docker封装的,以下对日后维护很有帮助的docker命令简记如下

1. 查看所有容器

复制
root@google:~# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES13f0c6688370 denghongcai/forsaken-mail "/bin/sh -c 'npm sta…" 44 minutes ago Exited (137) 32 minutes ago forsaken-mail

可以看到容器forsaken-mail的容器ID(CONTAINER ID)是13f0c6688370

2. 启动已停止的容器

复制
docker start 容器ID

3. 关闭正在运行的容器

复制
docker stop 容器ID

4. 重启容器

复制
docker restart 容器ID

5. 进入容器

复制
docker exec -it 容器ID /bin/bash

搭建挺简单的,只是碰到的小问题挺多。

搭建成功,就可以愉快玩耍了!

请在下方留下您的评论. 加入TG吹水群