邮件系统介绍

邮件系统角色

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 电子邮件

设置完成后即可进行邮件的发送和接收

参考链接
https://blog.51cto.com/u_12227558/2074095

https://www.cnblogs.com/operationhome/p/9056870.html

Last modification:March 7th, 2022 at 05:49 pm
硬币投入口