邮件系统介绍
邮件系统角色
MTA 邮件传输代理:邮件服务器软件,负责接收客户端软件发送的邮件,并将邮件传输给其他的MTA程序,是电子邮件系统中的核心部分。例如Exchange、 Postfix都属于MTA类软件
MUA 邮件用户代理:邮件客户端软件,负责为用户提供发送、接收和管理电子邮件的界面。例如Outlook、Outlook Express、Foxmail等
MDA 邮件分发代理:负责在服务器中将邮件分发到用户的邮箱目录(默认情况下是/var/spool/mail/user),它并不直接面向邮件用户,而是在后台默默的工作。有时候MDA的功能可以直接集成在MTA软件中,因此经常被忽略。
以下为Postfix邮件服务器部署步骤
关闭防火墙
systemctl stop firewalld
setenforce 0
配置DNS服务
安装DNS服务和工具客户端
说明:DNS服务可以由局域网内其他DNS服务器代替
yum -y install bind
yum -y install bind-utils
yum -y install bind-chroot
编辑主配置文件
vi /etc/named.conf
主要为 listen-on port改为本机IP和allow-query改为any
options {
listen-on port 53 { 192.168.31.116; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
};
保存后退出检查是否有语法错误
named-checkconf
编辑区域配置文件
vi /etc/named.rfc1912.zones
主要为加上正向区域配置文件和反向区域配置
zone "miacraft.cn" IN {
type master;
file "miacraft.cn.zone";
};
zone "31.168.192.in-addr.arpa" {
type master;
file "miacraft.cn.local";
};
保存退出后再次检查语法错误
named-checkconf
将配置文件进行复制,-p为带上权限等属性
cd /var/named
cp -p named.localhost miacraft.cn.zone
cp -p named.localhost miacraft.cn.local
vi /var/named/miacraft.cn.zone
编辑正向区域数据配置文件
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS mail.miacraft.com.
MX 10 mail.miacraft.com.
mail IN A 192.168.31.116
vi /var/named/miacraft.cn.local
编辑反向区域数据配置文件
$TTL 1D
@ IN SOA miacraft.cn rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS mail.miacraft.cn.
MX 10 mail.miacraft.cn.
10 PTR mail.miacraft.cn.
检查语法错误
named-checkconf
启动DNS服务并设置开启自启动
systemctl start named
systemctl enable named
设置DNS服务器为自己
vi /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.31.116
检查是否开启DNS服务
netstat -tnulp
验证邮件域名解析
nslookup mail.miacraft.cn
Server: 192.168.31.116
Address: 192.168.31.116#53
Name: mail.miacraft.cn
Address: 192.168.31.116
配置Postfix邮件服务
验证是否支持cyrus和dovecot功能
postconf –a
若postfix已安装好,则会支持这两个功能,若不支持,表示postfix未安装好
CentOS 7开始默认系统自带postfix
开启Postfix服务
systemctl start postfix
编辑主配置文件
vi /etc/postfix/main.cf
主要配置以下内容
inet_interfaces可以设置为所有指定IP地址,以, 还有空格隔开
home_mailbox邮件存储路径
myhostname = mail.miacraft.cn
mydomain = miacraft.cn
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, $mydomain
home_mailbox = Maildir/
保存退出后检查检查配置是否存在语法错误
postfix check
重启服务
systemctl restart postfix
检查非默认并已生效配置
postconf -n
包含刚才的配置并且确认一下
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
home_mailbox = Maildir/
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, $mydomain
mydomain = miacraft.cn
myhostname = mail.miacraft.cn
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
unknown_local_recipient_reject_code = 550
创建邮件用户组和用户
创建邮件用户组并新建邮件用户加入组内,此处创建了2个账号,Mia和Tom
groupadd mailusers
useradd -g mailusers -s /sbin/nologin mia
passwd mia
useradd -g mailusers -s /sbin/nologin tom
passwd tom
安装Telnet进行发件测试
yum -y install telnet
telnet mail.miacraft.cn 25
Telnet成功之后的交互输入
helo mail.miacraft.cn
# 声明本机的主机
mail from:mia@miacraft.cn
# 声明发件人地址
rcpt to:tom@miacraft.cn
# 声明收件人地址
data
# 写正文
Hello Tom
.
# 换行加.即为正文结束标记
quit
# 退出
查看收件
可以直接看用户的邮件目录
使用root用户查看tom用户是否收到测试邮件
到Tom的用户目录内,有类似的邮件文件,直接cat查看即可
cd /home/tom/Maildir/new/
安装dovecot收件服务
yum install -y dovecot
编辑配置文件
vi /etc/dovecot/dovecot.conf
listen添加侦听地址*即为IPv4所有地址,添加最后3行
protocols = imap pop3 lmtp
listen = *, ::
!include conf.d/*.conf
ssl = no
disable_plaintext_auth = no
mail_location = maildir:~/Maildir
启动dovecot服务并开启开机自启动
systemctl start dovecot
systemctl enable dovecot
使用Telnet进行收件测试
telnet mail.miacraft.cn 110
Telnet成功之后的交互输入
user tom
# 收件人登录
pass tom
# 邮箱密码
list
# 列表查看邮件
retr 1
# 读取编号为1的邮件
quit
# 退出邮箱
客户端登录
使用客户端登录,目前使用Windows10自带邮件客户端,Outlook设置失败
进入到添加账户的选项->高级设置->Internet 电子邮件
设置完成后即可进行邮件的发送和接收