从0开始打造属于自己的自建邮件群发平台

有台服务器闲置(Centos7),微饭君拿来当发信邮件服务器,选用了Poste.io免费版为套件基础,但是服务器上面有个web服务,所以还有涉及Nginx反代等知识。

Poste.io简介

Poste官网

Poste有两种付费方式:免费和收费版,都采用Docker部署模式,也就是说可以在几分钟之内便可以实现安装功能齐全的邮件服务器,并且两个版本都自带Webmail WEBUI,可以实现个人账户在线收件发件。

开放25端口

默认关闭25端口

由于以前默认开放25端口,导致全球云服务商的云服务都被不同程度的滥用,导致IP被邮件收发机构拉黑,后面推出政策默认关闭25端口,需要通过申请才能开放。

检测25端口是否打开

前面微饭君说了大部分都关闭了,但是可能存在某些运营商对老用户账号有特别照顾,默认是不关闭的。

可以先通过CMD命令行来检测是否打开25端口,请将 192.168.0.1 改为您的VPS IP地址 。
telnet 192.168.0.1 25

返回参数(屏蔽)

英文系统:
telnet 1.1.1.1 25
Trying 1.1.1.1...
telnet: Unable to connect to remote host: Connection timed out

中文系统:
telnet 1.1.1.1 25
正在连接1.1.1.1...无法打开到主机的连接。 在端口 25: 连接失败

返回参数(正常未屏蔽)

telnet gmail-smtp-in.l.google.com 25
Connected to gmail-smtp-in.l.google.com.
Escape character is '^)'.
220 mx.google.com ESMTP 200si3771316pfc.147 - gsmtp

 

申请开放25端口

大部分服务商都能通过发送工单(Tickets)到相关部门申请解封,如Linode/Vultr/Do等服务商。

申请演示:

Title:

port 25 is blocked

Content:

I am setting up a mail server, but port 25 is blocked on this server, please help me open it.

经过一段交涉,就获取了25端口权限。

Centos7 安装 Docker

以下命令按照顺序进行安装

[root@localhost ~]# curl -sSL https://get.docker.com/ | sh

[root@localhost ~]# systemctl start docker

[root@localhost ~]# systemctl enable docker.service

 

设置DNS

新增一个A记录(开动大脑,根据自己需要来)

名称(Name):mail

地址(IP):1.1.1.1

最终解析指向:email.weifans.cc -> 1.1.1.1

新增CNAME解析

新增三条CNAME解析指向mail.weifans.cc

smtp

.mail.weifans.cc CNAME mail.weifans.cc

pop

.mail.weifans.cc CNAME mail.weifans.cc

imap

.mail.weifans.cc CNAME mail.weifans.cc

新增MX解析

名称:@

类型:MX

内容:mail.weifans.cc

 

安装Poste.io

如果你的服务器上有正在运行的WEB服务,那么请使用下面这个命令。

docker run \
    --net=host \
    -e TZ=Asia/Shanghai \
    -v /opt/poste/data:/data \
    --name "mail" \
    -h "mail.weifan.cc" \
    -e "HTTP_PORT=81" \
    -e "HTTPS_PORT=444" \
    -e "HTTPS=OFF" \
    -t analogic/poste.io

如果你用一台服务器来做专门发件服务器,那么请使用下面的命令

docker run \
    --net=host \
    -e TZ=Asia/Shanghai \
    -v /opt/poste/data:/data \
    --name "mail" \
    -h "mail.weifans.cc" \
    -t analogic/poste.io

 

查看所有docker容器

安装完成后CTRL+C退出或者意外关闭后,该如何重新运行?

runoob@runoob:~$ docker ps -a #查看所有docker
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS               NAMES
f738889f3cdb        analogic/poste.io   "/init"             5 hours ago         Up 5 hours (unhealthy)                       mail

 

启动指定docker容器

runoob@runoob:~$ docker start 容器ID #容器ID输入CONTAINER ID的内容

 

 

    更多内容推荐

    暂无相关文章!

从0开始打造属于自己的自建邮件群发平台-海报

微信扫一扫,分享到朋友圈

从0开始打造属于自己的自建邮件群发平台
返回顶部