文章目录

  • 介绍
  • 服务软件
  • 部署基础的电子邮件系统
  • 搭建邮局系统
  • 安装软件包
  • 配置postfix
  • 检查并启动postfix服务
  • 配置dovecot
  • 检查并启动dovecot服务
  • 添加用户
  • 端口放行
  • 测试


介绍

邮件收、发服务器是分开的,也就是我们需要搭建一个邮件发送服务器和一个邮件收取服务器。

服务软件

Postfix
Postfix 是实现 SMTP 协议的软件,也叫做邮件发送服务器。

上面说的邮件客户端将邮件扔给它,由它对邮件进行转发,至于怎么转发,SMTP 协议制定了规则,而 Postfix 负责具体事情,我们只需要修改 Postfix 配置文件要求它按照我们的想法去做。

Dovecot
Dovecot 实现了 POP 和 IMOP 协议,也叫做邮件收取服务器。如果只搭建了 Postfix 而没有它,不好意思,你是收不到邮件的。

部署基础的电子邮件系统

最基础的电子邮件系统要能提供发件服务和收件服务,为此需要使用基于SMTP协议的Postfix服务程序提供发件服务功能,并使用基于POP3协议的Dovecot服务程序提供收件服务功能。这样一来,用户就可以使用Outlook Express或Foxmail等客户端服务程序正常收发邮件了。电子邮件系统的工作流程如图所示。

centos中自带邮箱 centos 邮箱服务器_centos中自带邮箱

搭建邮局系统

安装软件包

首先关闭selinux

[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce 
Permissive

配置DNS服务器
Centos 安装DNS服务器并配置无查询结果转发功能

接下来执行安装命令

yum -y install postfix dovecot telnet

centos中自带邮箱 centos 邮箱服务器_centos_02

配置postfix

修改配置文件 /etc/postfix/main.cf

#修改以下配置,注意下面的变量不要重复,如果发现与原来的变量重名,那就将原来的变量给注释掉
#邮件服务器的主机名
myhostname = mail.xiaoqi.com
#邮件域,@后面的域名
mydomain = xiaoqi.com
#往外发邮件的邮件域
myorigin = $mydomain
#监听的网卡
inet_interfaces = all
inet_protocols = all
#服务的对象
mydestination = $myhostname,$mydomain
#邮件存放的目录
home_mailbox = Maildir/

检查并启动postfix服务

postfix check  #修改保存后检查配置文件是否有错
systemctl start postfix  #开启postfix服务,CentOS6用service postfix start
systemctl enable postfix  #设置postfix服务开机启动,CentOS6用chkconfig postfix on
systemctl status postfix  #检测状态

centos中自带邮箱 centos 邮箱服务器_运维_03

配置dovecot

修改配置文件 /etc/dovecot/dovecot.conf

#修改以下配置
protocols = imap pop3 lmtp
listen = *, ::

#新添加以下配置
#-----------自定义------------

ssl = no
disable_plaintext_auth = no
mail_location = maildir:~/Maildir

检查并启动dovecot服务

systemctl start dovecot    #CentOS6用service dovecot start
systemctl enable dovecot    #CentOS6用chkconfig dovecot on
systemctl status dovecot

centos中自带邮箱 centos 邮箱服务器_运维_04

添加用户

添加用户 mailadmin 并设置密码 123456

useradd  mailadmin
echo  123456 | passwd --stdin mailadmin

centos中自带邮箱 centos 邮箱服务器_服务器_05

端口放行

iptables -I INPUT -p tcp --dport 110 -j ACCEPT #pop3
iptables -I INPUT -p tcp --dport 25 -j ACCEPT   #SMTP
iptables -I INPUT -p tcp --dport 143 -j ACCEPT  #imap
service iptables save  #保存

测试

发送信箱
使用telnet连接,自己给自己发

telnet localhost 25
[root@QiCentos ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.xiaoqi.com ESMTP Postfix
mail from:mailadmin@xiaoqi.com
250 2.1.0 Ok
rcpt to:mailadmin@xiaoqi.com
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
subject:这是主题
this is test mail
.
250 2.0.0 Ok: queued as 6224C10263A

用mailx测试
安装

yum  install  mailx -y

使用mailx发送邮件

echo '测试邮件内容' | mail -s '测试主题!' mailadmin@xiaoqi.com

接收信箱
使用telnet连接

telnet localhost 110
[root@QiCentos ~]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user mailadmin
+OK
pass 密码
+OK Logged in.


list #列表查看邮件
retr 1 #读取编号为1的邮件
quit #退出邮箱

测试效果:

centos中自带邮箱 centos 邮箱服务器_centos中自带邮箱_06