第七讲:使用云服务器搭建自己的邮件服务

2,166 阅读3分钟

  随着移动互联网的普及,邮件服务使用的场景越来越少。但是注册帐号的时候,还是需要邮箱地址。市面上免费的邮箱很多,不过一般需要绑定手机号,如果想在同一个邮箱服务商那注册多个邮箱帐号,需要准备多个手机号,这非常的烦人。接下来我们自己动手搭建邮件服务器吧。

准备工作

  邮件服务器之间采用SMTP协议进行通信,如果我们的云服务器想要接受邮件,需要打开25这个端口,并允许访问25端口。

1.png

  邮件服务使用的特殊的DNS,需要进行配置。这里涉及到了两次映射,为了方便叙述,假设我的邮箱名字是:abc@example.com。第一次映射通过添加MX记录类型,将邮箱@后面的主机映射到域名上,如下图所示,添加一个MX的记录类型。

2.png

第二次映射将上面的域名映射到我们云主机上的IP上,看过之前文章的朋友应该知道如何配置。

安装邮件服务

  我们将使用postfix作为邮件服务器,因为它的特殊设定,需要先检查云主机的hostname,将hostname设置为邮件服务器的主机名。

sudo hostnamectl set-hostname example.com

  安装postfix,执行下面的命令,弹窗会让你选择configuration和你的mail name

sudo apt-get update
sudo apt-get install postfix -y

3.png

4.png   安装完成之后,检查一下服务是否启动,如果没有启动,可以执行postfix start。

sudo ss -lnpt | grep master

  邮件服务器搭建完毕,学习过计算机网络的同学应该知道,smtp只是邮件服务器之间的传输协议,读取邮件还需要pop3或者imap协议。所以如果还要读取邮件,还需要安装其他软件。需要说明的是:如果你的Ubuntu有user1的用户,那么邮件服务器就有user1@example.com的账户。

sudo apt-get install mailutils

接收邮件测试

  接下来我们用qq邮箱给刚搭好的邮件服务器发送测试邮件,当在云服务器上执行mail的

5.png

时候,提示收到了新邮件,选择1就显示邮件的内容。

6.png

7.png   细心的小伙伴可能已经发现了,邮件的内容是base64编码后的,并不能直接读取,这个时候执行以下decode,选择消息,就能进行解码啦

8.png

9.png   postfix还能发送邮件,但是前提是云服务器25端口出的流量是开启的,可以在云服务器上自己进行测试,看端口25是不是通的。对于postfix发送邮件感兴趣的可以自行搜索资料哦~

telnet  mx1.qq.com 25

总结

  有了自建的邮件服务器,再也不用担心要多个手机号啦