Postfix+Dovecot邮件系统

  • 电子邮件系统E-Mail(Electronic Mail System)是一种通过电子通信手段进行信息交换的系统。
  • 用户代理UA(User Agent)是电子邮件系统的客户端部分,为用户提供接口用于管理邮件。(如:Outlook、Foxmail、QQ邮箱)
  • 邮件传输代理MTA(Mail Transfer Agent)主要负责邮件的传输工作,通过SMTP等传递邮件到对方邮箱的MTA。(如Postfix)
  • 邮件投递代理MDA(Mail Delivery Agent)主要将接收到的邮件存储到用户的邮箱中。(如Dovecot)
  • SMTP(Simple Mail Transfer Protocol)是发送邮件的核心协议,定义邮件传输的规则和流程,默认TCP25端口,ssl用465端口
  • POP3(Post Office Protocol - Version 3)主要用于用户从邮件服务器上下载邮件到本地设备,默认TCP110端口,ssl用995端口
  • IMAP(Internet Message Access Protocol)允许用户在邮件服务器对邮件进行管理操作,默认TCP143端口,ssl用993端口

优化系统和准备安装包

1.关闭防火墙和SELINUX
systemctl disable --now firewalld
sed -i.bak s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config

2.调整内核参数
cat >> /etc/security/limits.conf << EOF
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nporc 65535
EOF

3.更改主机名
echo Mail > /etc/hostname
reboot

4.下载相关包
yum -y install postfix dovecot bind bind-utils bind-chroot


DNS服务搭建

1.备份相关配置文件
cp -p /etc/named.conf /etc/named.conf.bak
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak

2.修改主配置文件
sed -i 's/listen-on port 53 { 127.0.0.1; }/listen-on port 53 { any; }/g' /etc/named.conf
sed -i 's/allow-query   { localhost; };/allow-query   { any; };/g' /etc/named.conf		

3.编辑区域配置文件
cat > /etc/named.rfc1912.zones << EOF
zone "testcloud.bg" IN {
	type master;
	file "testcloud.bg.zone";
};

zone "122.168.192.in-addr.arpa" {
	type master;
	file "122.168.192.zone";
};
EOF

4.编辑数据配置文件
cat > /var/named/122.168.192.zone << EOF
$TTL 3H
@	IN SOA	testcloud.bg  root.testcloud.bg (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS	dns.testcloud.bg.
	NS	mail.testcloud.bg.
	MX 10	mail.testcloud.bg.
10	PTR	mail.testcloud.bg.
210	PTR	dns.testcloud.bg.
214	PTR	js.testcloud.bg.
22	PTR	zabbix.testcloud.bg.
78	PTR	monitor.testcloud.bg.
220	PTR	harbor.example.net.
EOF
cat > /var/named/testcloud.bg.zone << EOF
$TTL 3H
@	IN SOA	testcloud.bg root.testcloud.bg (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS	dns.testcloud.bg.
	NS	mail.testcloud.bg.
	MX 10	mail.testcloud.bg.
mail	IN A	192.168.122.77
dns	A	192.168.122.77
zabbix	A	192.168.122.22
monitor	A	192.168.122.78
js	A	192.168.122.214
EOF

5.设置属组
chown named:named /etc/named*
chown -R named:named /var/named/

6.启动服务
systemctl enable --now named

7.验证服务
systemctl status named
cat > /etc/resolv.conf << EOF
search testcloud.bg
nameserver 192.168.122.77
nameserver 114.114.114.119
EOF
ping mail.testcloud.bg

Postfix模块

  • smtpd 用于响应用户的请求
  • cleanup 用于检测语法
  • pickup 用于分检邮件
  • smtp 类似于客户端,传输邮件
  • qmgr 队列管理器用于不同邮件状态的管理

Postfix搭建

1..修改Postfix配置文件
cp -p /etc/postfix/main.cf /etc/postfix/main.cf.bak
vim /etc/postfix/main.cf
myhostname = Mail		#邮件服务器主机名
mydomain = testcloud.bg		#邮件域
myorigin = $mydomain		#往外发送邮件的邮件域
inet_interfaces = all		#监听的网络
mydestination =	$myhostname, localhost.$mydomain, localhost, $mydomain		#服务的对象
home_mailbox = Maildir/  		#邮件存放的目录
mynetworks = 0.0.0.0/0, 127.0.0.0/8		#接收所有网段


2.语法检查
postfix check
#启动服务
systemctl enable --now postfix
systemctl status postfix

3.生成密钥和证书文件
openssl genrsa -out ca.key 2048			#生成密钥
openssl req -new -x509 -days 3650 -key ca.key -out ca.pem		#生成证书
openssl genrsa -out mail.key 2048					#生成邮件密钥
openssl req -new -key mail.key -out mail.csr		#生成邮件请求文件
openssl x509 -req -in mail.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out mail.pem -days 3650	#生成邮件证书
chmod 400 mail.pem mail.key
cp mail.pem /etc/pki/tls/certs/
cp mail key /etc/pki/tls/certs/

4.配置Postfix发件SSL
#修改配置文件
cp /etc/postfix/master.cf /etc/postfix/master.cf_ssl.bak
vim /etc/postfix/master.cf
smtps     inet  n       -       n       -       -       smtpd
  -o smtpd_tls_wrappermode=yes
#修改配置文件
vim /etc/postfix/main.cf
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/pki/tls/certs/mail.pem
smtpd_tls_key_file = /etc/pki/tls/certs/mail.key
#验证
postfix check
systemctl restart postfix
ss -lntp | grep 465

5.邮件测试
#创建测试用户
useradd  -g mail -s /sbin/nologin user1
useradd  -g mail -s /sbin/nologin user2
echo 'Abc123' | passwd --stdin user1
echo 'Abc123' | passwd --stdin user2
telnet mail.testcloud.bg 25
helo testclod.bg				#声明主机
mail from:"test"<user1@testcloud.bg>	#声明发件人地址	
rcpt to:<user2@testcloud.bg>			#声明收件人地址
data		#撰写正文
are you receive mail?
.			#正文结束标志
quit		#退出

在这里插入图片描述

Dovecot搭建

1.修改Dovecot配置文件
#主配置文件
cp -p /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.bak
vim /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
login_trusted_networks = 0.0.0.0/0
mail_location = maildir:~/Maildir
ssl = no
disable_plaintext_auth = no
listen = *, ::

vim /etc/dovecot/conf.d/10-auth.conf		#允许明文验证
disable_plaintext_auth = no
auth_mechanisms = plain login

vim /etc/dovecot/conf.d/10-ssl.conf			#关闭ssl验证
ssl = no

vim /etc/dovecot/conf.d/10-logging.conf			#启动日志记录文件
info_log_path = /var/log/dovecot_info.log
debug_log_path = /var/log/dovecot_debug.log

systemctl enable --now dovecot			#验证服务
systemctl status dovecot



2.配置Dovecot收件SSL
#修改配置文件
vim /etc/dovecot/dovecot.conf
ssl = yes							
disable_plaintext_auth = yes		
#修改配置文件
vim /etc/dovecot/conf.d/10-ssl.conf 
ssl = yes
ssl_cert = /etc/pki/tls/certs/mail.pem
ssl_key = /etc/pki/tls/certs/mail.key
vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes
#验证
systemctl restart dovecot
ss -lntup | grep 995

3.测试接收邮件
telnet mail.testcloud.bg
user user1				#登录用户
pass Abc123				#登录密码
list					#列出邮件列表
retr 1					#查看邮件编号为1的邮件
quit					#退出

在这里插入图片描述

  1. Window系统配置dns或者hosts文件
    在这里插入图片描述

  2. 使用foxmail测试

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值