0.前言(项目原理)
需求描述: 1、email服务部署在公网服务器(自己购买的阿里云或者腾讯云服务器); 2、可以正确收发电子邮件(可能有端口问题需要处理);
原理:邮件发送需要涉及到两个协议,一个是SMTP协议,用来发送邮件;另一个是POP3协议,用来接收邮件。在阿里云服务器上可以使用postfix来搭建SMTP服务器,dovecot搭建POP3服务器。安装了这两个服务器程序就可以收发邮件了。
1.基础知识
我们需要知道什么是邮箱服务器以及什么是邮箱客户端,还需要知道各个端口以及一些协议的注意事项,接下来我会一一列举出来并且进行补充说明。
首先介绍邮箱服务器是什么:邮箱服务器就是能使我们能正常收发电子邮件的服务器,他具有收发电子邮件的功能。
再介绍邮箱客户端也可以叫邮件客户端:举个例子,我有电子邮箱的地址以及收发的条件,但是我要用什么工具才能收发电子邮件呢?这个时候邮箱客户端就出来了,他可以精准接受并且发送对应的邮箱地址。简单来说,就是他是一款可以实现收发电子邮件的工具。
再介绍一下阿里云邮箱各个端口:
25端口:他是SMTP协议的常用端口,在勾选SSL的情况下,既保密的情况下,他是465端口,
但是需要注意的是,因为阿里云服务器商的限制,阿里云服务器上要是搭建邮箱服务器会被禁用
25端口,需要想办法解除端口限制。
110端口:他是POP3协议的常用端口,在勾选SSL的情况下,他是995端口
143端口:他是IMAP协议的常用端口,在勾选SSL的情况下,他是993端口
接下来再介绍常见的邮件协议服务器:SMTP、POP3、IMAP 等:
SMTP 即 Simple Mail Transfer Protocol,它用于将邮件投递到邮箱服务器,即邮件的发送,
例如:将邮件从邮箱客户端发送到邮箱服务器、邮箱服务器将邮件转发给另一个邮箱服务器。
POP3 即 Post Office Protocol 3,它用于从邮箱服务器取回邮件,即邮件的接收,
例如:邮箱客户端从邮箱服务器取回邮件。
IMAP 即 Internet Message Access Protocol,它同 POP3 一样,是用于邮件接收的协议。
注意:POP3和IMAP是有区别的:
POP3 接收邮件的方式为 ‘取’,即接收邮件之后,邮箱服务器将删除已接收邮件,
进而释放其占用的空间。POP3模式值得是本地保存邮件,更安全。
IMAP 接收邮件的方式为 ‘读’,即接收邮件之后,邮箱服务器仍保留已接收邮件,
因此使用 IMAP 协议的邮箱服务器需要更大的存储空间。IMAP模式指的是服务器同步邮件,无论在哪登录,都能同步所有的邮件信息。
然后是DNS服务器是什么:保存主机名与IP地址的映射关系
DNS 域名解析:
我们常常访问,例如 www.baidu.com,其中 baidu.com 是主域名,而前面的 www,
表示该域名指向的服务器提供的是万维网(World Wide Web)服务,即网站服务。
现在我们的服务器要提供的是邮箱服务,因此也应该有一个域名指向该服务器,并且
前缀应该是 mail,例如我的主域名是 tanleidd.fit,因此邮箱服务器的域名是:mail.tanleidd.fit
2.项目具体步骤 第一步设置DNS域名解析
虚拟机DNS服务器连接阿里云服务器的DNS必要设置:
1.主机记录就是域名前缀,因为是邮箱类型,所以是mail前缀。
2.设置A记录类型是为了连接阿里云服务器,记录值填写阿里云服务器公用IP
3.再设置MX记录类型,主机记录依然是mail,记录值是mail.域名,
作用是为了将我们的域名指向邮件服务器地址,使我们的邮件服务器接受到域名。
4.再设置一个MX记录类型,但是主机记录是@,记录值是mail.域名,
作用是因为上一步我们对mail.tanleidd.fit 进行了配置,如果直接使用它的话,
邮箱地址就成了:xxx@mail.tanleidd.fit,这样不够简洁,
我们想要的效果是 xxx@tanleidd.fit,于是再进行这样的配置。
3.开启端口
登录到轻量应用服务器管理控制台
在【服务器列表】中找到目标轻量应用服务器,并点击进入
在左侧栏找到【安全】>>【防火墙】,找到右上角的【添加规则】,如下图,
添加以上数据
4.安装postfix和dovecot (先安装邮件服务器)
指令:
apt install postfix* -y
apt install dovecot* -y
!!!如果报错安装,则是没有更新软件源的问题
可输入指令:
apt update
apt upgrade
更新后再重新安装上诉两个指令,工作模式根据个人需要选择,这里我选择了Internet site接着会提示设置域名,这里就填本地邮件服务的域名,我的是mail.abc.com。如果暂时还没设置邮件域名,也可以先使用默认值,后期可以修改/etc/mailname这个文件来修改邮件域名。
5.配置postfix服务器
指令:
cd /etc/postfix
vim main.cf
添加以下内容:
myhostname = 你阿里云服务器的主机名(有些是mail.加上自己的域名,意义是将你的有主机记录的域名绑定为主机名)
mydomain = 加上自己的域名 (意义是将你的域名绑定)
myorigin = $mydomain(意义是将你的域名与此服务器源头绑定)
inet_interfaces = all (意义是互联网接口连接全都可以使用,与邮件服务器端口有区别)
inet_protocols = ipv4 (互联网协议是ipv4)
mydestination = $myhostname, localhost,$mydomain, localhost, $mydomain
(翻译为:这样做的目的是将我的域和主机名部署在本地服务器上)
mynetworks = 0.0.0.0/0
relay_domains = $mydestination(作用是将已经部署好的本地服务器数据传递到我们的阿里云域名)
然后更新postfix服务器
systemctl restart postfix 重启服务器,相当于关机服务器
systemctl start postfix 开机服务器并且更新服务器
systemctl status postfix 查看服务器状态
6.配置 dovecot服务器
指令:
cd /etc/dovecot/conf.d
vim 10-auth.conf
disable_plaintext_auth = no (开启用户名访问)
vim 10-ssl.conf
ssl = no (关闭ssl)
vim 10-mail.conf
mail_localtion = mbox:~/mail:INBOX=/var/mail/%u (邮箱存储)此处不需要打,因为他一般自带,只是查看是否有这步。
cd .. (退到上一级)
cd /etc/dovecot
vim dovecot.conf
protocols = imap pop3 lmtp submission
listen = * (开启本地所有地址)
然后更新一下dovecot服务器
systemctl restart dovecot 重启服务器,相当于关机服务器
systemctl start dovecot 开机服务器并且更新服务器
systemctl status dovecot 查看服务器状态
7.在阿里云服务器内创建用户
创建用户并给予密码
useradd 用户名1
passwd 用户名1
useradd 用户名2
passwd 用户名2
创建邮箱
mkdir -p /home/用户名1/mail/.imap/INBOX/
mkdir -p /home/用户名2/mail/.imap/INBOX/
设置权限
chown -R 用户名1.用户名1 /home/用户名1
chown -R 用户名2.用户名2 /home/用户名2
8.在邮件客户端上登录我们创建的电子邮箱
安装一个能登录的邮件的客服端我这里的是Foxmail
点击其他邮箱登入
输入自己的用户名和密码,用户名是:创建的账户+@+mail+自己的域名(也可以不加mail)
密码:是自己的用户密码
pop3服务器地址:自己的mail.域名 端口开启输入端口上网查,ssl开不开无所谓(一般会自动获取)
其他服务器地址:自己的mail.域名 其他端口开启输入端口上网查,ssl开不开无所谓(一般会自动获取)
!!!这里建议使用pop3服务器类型
9.测试发送以及收取邮件
注意收件人以及发件人的填写要正确规范,如果不熟悉可以多尝试几遍,然后发送后记得收取邮件
10.在此感谢供应商:Email服务 | 希亚の小屋
此项目是根据以上教程完成,此篇文章是对教程进行了更加细致的解读以及自己的总结和对项目的研究。