今天主要是闲的无聊,买的VPS不能白白的浪费掉啊,就搭个邮件服务来玩,使用的是Postfix和Dovecot来搭建,用Foxmail客户端登陆测试收信、发信均没问题
先了解几个email有关的名词:
- MUA:用户代理端,即用户使用的写信、收信客户端软件
- MTA:邮件传送端,即常说的邮件服务器,用于转发、收取用户邮件。
- MDA:邮件代理端,相当于MUA和MTA的中间人,可用于过滤垃圾邮件。
- POP:邮局协议,用于MUA连接服务器收取用户邮件,通信端口110。
- IMOP:互联网应用协议,功能较POP多,通信端口143。
- SMTP:简单邮件传送协议,MUA连接MTA或MTA连接MTA发送邮件使用此协议,通信端口25。
postfix正是提供MTA功能的开源软件,是用来收发邮件的,它没有web页面,所以要配合本地的MUA(类似于foxmail,outlook之类的软件)来进行可视化的邮件管理操作。
Dovecot 是一个开源的IMAP 和POP3 邮件服务器,支持Linux/Unix 系统。作为IMAP和POP3服务器,Dovecot为邮件用户代理(MUA)提供了一种访问服务器上存储的邮件的方法(简单理解为检测用户的合法性)。但是,Dovecot并不负责从其他邮件服务器接收邮件。Dovecot只是将已经存储在邮件服务器上的邮件通过MUA显示出来。
好了下面就开始干吧
安装Postfix和Dovecot
在安装之前,首先我们先卸载默认的sendmail(如果有的话),因为它是系统默认的MTA程序
1 | yum remove sendmail |
然后就可以安装了:
1 | yum install postfix |
cyrus函数库为postfix的stmp提供安全的验证支持
修改MTA(默认邮件传输代理)
1 | alternatives --config mta |
检查一下是不是已经设置成功了。
1 | alternatives --display mta |
第一行可以看到mta的状态。 例如:mat - status is manual.
安装Dovecot:
1 | yum install dovecot |
设置域名解析
需要添加两条记录,如果要设置过滤垃圾邮件的规则的话,还要再加一条,关键字:SPF和TXT记录类型
设置后一段时间后才会生效,10几分钟吧
主机记录 | 记录类型 | 记录值 | MX优先级 |
---|---|---|---|
@(不填即可,默认会给这个) | MX | mail.bfchengnuo.com | 10 |
A | 服务器的公网IP | - |
下面再说说这两条记录的作用
- MX 记录
这是为邮件服务器专门设计的,用于指定负责处理发往收件人域名的邮件服务器,简单邮件传输协议(SMTP)会根据 MX 记录的值来决定邮件的路由过程。
比如用 Gmail 往 163 发邮件,因为不是一个域的,在“转发”的过程中需要根据收信人地址(@163.com)查找 DNS 以确定对方域的 IP ,这样才能正确的投递 - A 记录
这个是为了免登陆的,正常情况下,我们发邮件需要登陆自己的账户,那么 Gmail 往 163 进行“转发”也是在发邮件,这个过程显然不可能也要进行登陆,这就用到了 A 记录
Gmail 转发邮件时通过 ehlo 打招呼的时候表明自己的邮件服务器域,也就是类似mail.gmail.com
这样的,就是指向发邮件的服务器;
对方(163)收到后进行确认,拿着这个地址查 DNS,找出对应的 IP,然后核对发送人是不是这个 IP,这样就可以确认发送人是服务器而不是个人用户,就不需要登陆了
大型的邮件系统收信服务器和发信服务器不会是在一台物理服务器上,比如基本都是 imap.gmail.com
收信服务器;smtp.gmail.com
发信服务器;对应着协议,以及现在用的比较少的 POP3
POP3 协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件、标记已读等),不会反馈到服务器上,比如通过客户端收取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的 。
而 IMAP 提供 webmail 与电子邮件客户端之间的双向通信,客户端的操作都会反馈到服务器上,对邮件进行的操作,服务器上的邮件也会做相应的动作。
http://help.163.com/10/0203/13/5UJONJ4I00753VB8.html
配置Postfix
1 | vi /etc/postfix/main.cf |
修改好了之后使用/etc/rc.d/init.d/postfix start
开启postfix
使用chkconfig postfix on
将postfix开机启动。
其中,myhostname 还有说是运行 hostname 命令返回的结果,如果不成功,可尝试
配置Dovecot
还是修改配置文件,注意要修改的文件比较多,跟着改即可
1 | vi /etc/dovecot/dovecot.conf |
使用
一切都弄好以后,就可以使用Foxmail等第三方软件来收发邮件了。
在这里需要说一下,系统用户就是邮件的用户,例如root,就是一个邮箱用户,邮箱是[email protected],密码就是root的密码,所以需要创建用户,只要使用useradd
创建用户,再使用passwd设置密码。
不建议使用root用户来测试,还是useradd一个admin用户比较好
如果使用的是Foxmail,输入E-mail地址和密码后,选择接收服务器类型是IMAP,邮件账号是你的用户名(不是邮箱地址)
下面的IMAP和SMTP服务器保持默认的mail.bfchengnuo.com即可
还有就是:一定别忘了开启服务器的相应的端口!比如基本的143和25端口,对应上面的两个服务
就酱!
相关问题
- 启动 postfix 服务提示找不到?
试试service postfix start
或者systemctl start postfix
;
顺便可使用service postfix reload
刷一下配置 - 出现意外情况?查看日志
查看/var/log/maillog
下的日志或许会有些帮助,然后放到 Google 上
PS:后来换阿里云的测试….谁能想阿里云防垃圾邮件默认封杀 25 端口,需要申请解封,心累…
评论框加载失败,无法访问 Disqus
你可能需要魔法上网~~