一、常见的邮件协议:

*1、SMTP(Simple Mail Transfer Protocol )简单邮件传输协议,用于发送和中转发出的电子邮件。占用端口25/TCP。

*2、POP3(Post Office Protocol 3)邮局协议版本3,用于将邮件保存到本地主机,占用端口110/TCP。

*3、IMAP4(Internet Message Access Protocol 4)Internet消息访问协议版本4,用于在本地主机上访问电子邮件,占用端口143/TC。

二、几种邮件代理服务器名称

1、MUA(Mail User Agent)邮件用户代理,为用户收发电子邮件。

2、MDA(Mail Delivery Agent)邮件投递代理,将来自于邮件传输代理(MTA)的邮件保存到本地收件箱

3、MTA (Mail Transfer Agent)邮件传输代理,作用转发处理不同电子邮件服务供应商之间的邮件,将来自MUA的邮件转发到合适的MTA服务器。

电子邮局系统-风君雪科技博客

实验一:部署基础的电子邮件系统

第一步:为了更好的验证电子邮件系统的效果,先安装部署bind服务。

编辑bind主配置文件

[root@linuxprobe ~]# yum install -y bind-chroot
11         listen-on port 53 { any; };
 12         listen-on-v6 port 53 { ::1; };
 13         directory       "/var/named";
 14         dump-file       "/var/named/data/cache_dump.db";
 15         statistics-file "/var/named/data/named_stats.txt";
 16         memstatistics-file "/var/named/data/named_mem_stats.txt";
 17         allow-query     { any; };

区域配置文件

[root@linuxprobe ~]# vim /etc/named.rfc1912.zones 
zone "linuxprobe.com" IN {
        type master;
        file "linuxprobe.com.zone";
        allow-update { none; };
};

数据配置文件

[root@linuxprobe ~]# vim /var/named/linuxprobe.com.zone
$TTL 1D
@       IN SOA  linuxprobe.com. root.linuxprobe.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns.linuxprobe.com.
ns      IN A    192.168.10.10
@       IN MX 10 mail.linuxprobe.com.
mail    IN A    192.168.10.10

将主机DNS地址修改为本机地址192.168.10.10并重启网络服务与域名解析服务

电子邮局系统-风君雪科技博客

[root@linuxprobe ~]# systemctl restart network
[root@linuxprobe named]# systemctl start named
[root@linuxprobe named]# systemctl enable named

第二部:部署postfix服务程序

需修改5处参数

[root@linuxprobe ~]# vim /etc/postfix/main.cf
 76 myhostname = mail.linuxprobe.com          邮局系统主机名
83 mydomain = linuxprobe.com          邮局系统域名 99 myorigin = $mydomain              从本机发出的邮件域名名称 113 inet_interfaces = all            监听的网卡接口 164 mydestination = $myhostname, $mydomain  可接受邮件的主机名和域名

重启服务,创建用户andy

[root@linuxprobe ~]# systemctl restart postfix
[root@linuxprobe ~]# systemctl enable postfix
[root@linuxprobe ~]# useradd andy
[root@linuxprobe ~]# echo "redhat" | passwd --stdin andy

第三部:部署dovecot服务程序用于接收邮件

[root@linuxprobe ~]# yum install dovecot -y
[root@linuxprobe ~]# vim /etc/dovecot/dovecot.conf 
 24 protocols = imap pop3 lmtp            使dovecot服务程序支持imap pop3 lmtp 三种邮件协议
 25 disable_plaintext_auth = no            添加一行参数,是用户可以使用明文密码进行验证
 48 login_trusted_networks = 192.168.10.0/24    用于限制只有192.168.10.0/24网段的主机才能使用电子邮件,若改行参数不修改,则允许所有人使用

设置邮件格式与存储路径

[root@linuxprobe ~]# vim /etc/dovecot/conf.d/10-mail.conf 
 25    mail_location = mbox:~/mail:INBOX=/var/mail/%u        只要取消注释就可以

最后使用新创建的用户创建收件箱目录,并重启dovecot服务程序

[andy@mail ~]$ mkdir -p ~/mail/.imap/INBOX    注意mail目录和INBOX中间有名为.imap的隐藏目录
[andy@mail ~]$ exit
logout
[root@linuxprobe ~]# systemctl restart dovecot
[root@linuxprobe ~]# systemctl enable dovecot
ln -s '/usr/lib/systemd/system/dovecot.service' '/etc/systemd/system/multi-user.target.wants/dovecot.service'

在w7系统中使用outlook2007验证邮局系统效果,防止iptables防火墙阻止域名解析与收发电子邮件,需要清空iptables防火墙策略哦

w7客户端主机ip 设置为192.168.10.30,DNS地址为192.168.10.10。

电子邮局系统-风君雪科技博客

电子邮局系统-风君雪科技博客

实验二:设置用户别名邮箱

配置alias参数,创建名为xxoo的账户,映射的邮箱收件人的root

[root@linuxprobe ~]# vim /etc/aliases
bin:            root
daemon:         root
adm:            root
xxoo:           root

执行newalias让新的用户别名配置立即生效

[root@linuxprobe ~]# newaliases

发送邮件

电子邮局系统-风君雪科技博客

[root@linuxprobe ~]# mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/root": 3 messages 1 new 2 unread
 U  1 andy                  Mon Feb 25 14:07 115/3081  ""
    2 andy                  Mon Feb 25 14:16 118/3521  "测试"
>N  3 andy                  Mon Feb 25 14:48 118/3332  "用户别名邮件"
& 3
Message  3:
From andy@linuxprobe.com  Mon Feb 25 14:48:05 2019
Return-Path: <andy@linuxprobe.com>
X-Original-To: xxoo@linuxprobe.com
Delivered-To: xxoo@linuxprobe.com
From: "andy" <andy@linuxprobe.com>
To: <xxoo@linuxprobe.com>
Subject: 用户别名邮件
Date: Mon, 25 Feb 2019 14:47:55 +0800
Content-Type: multipart/alternative;
    boundary="----=_NextPart_000_001A_01D4CD19.179EDA30"
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: AdTM1glvkHpcLF2AQmKqzRULnel9Qg==
Content-Language: zh-cn
Status: R

Content-Type: text/plain;
    charset="gb2312"

不出意外的话,该邮件会被root用户收到