liunx邮箱服务搭建 (简洁版)

      CS模式 :client 客户端 ,server服务端
      @qq.com 邮箱后缀
      @jxyy.com    本来ip ——>域名  www.xxxx.com
      DNS域名解析
      sendmail 发送邮件
       SMTP 协议:邮件内容传输协议   端口25
       POP3协议:邮局协议
      dovecot 中继器

安装组件

yum -y install sendmail
yum -y install m4
yum -y install sendmail-cf
yum -y install dovecot
yum -y install bind

编辑DNS服务器的全局配置文件named.conf

 vi /etc/named.conf
# 修改文件
listen -on port 53 {any;}; # 将127.0.0.1修改为any
allow -query {any;}; # 将localhost修改为any
include "/etc/named.zones" ; # 将named.rfc1912.zones修改为named.zones

编辑DNS服务器的主配置文件named.zones

cd /etc
cp -p named.rfc1912.zones named.zones
vi named.zones
# 修改文件
zone "school.com" IN{  
				type master;
				file "school.com.zone"; 
				allow-update {none;} ;
};

zone "56.168.192.in-addr.arpa" IN{       
				type master;
				file "192.168.56.zone"; 
				allow-update {none;};
};

在DNS文件存放目录/var/named/下创建正向解析文件(school.com.zone)和反向解析文件(192.168.56.zone)

cd /var/named
		cp -p named.localhost  school.com.zone
		cp -p named.loopback 192.168.56.zone

编辑正向解析文件

vi school.com.zone
	
# 内容修改为

$TTL 1D
@       IN SOA  school.com.     root.school.com. (
                               		 0       ; serial
                                		1D      ; refresh
                                		1H      ; retry
                               		 1W      ; expire
                                		3H )    ; minimum
@        IN      NS      dns.school.com.

@        IN      MX      10      mail.school.com.

dns     IN      A       192.168.56.102

mail    IN      A       192.168.56.102

smtp    IN      A       192.168.56.102

pop3    IN      A       192.168.56.102

编辑反向解析文件(不能空格)

vi 192.168.56.zone
# 内容修改为
	$TTL 1D
	@       IN SOA  school.com.     root.school.com. (
                                  		  0       ; serial
                                    		1D      ; refresh
                                    		1H      ; retry
                                    		1W      ; expire
                                    		3H )    ; minimum	
	@        IN      NS      dns.school.com.

	@        IN      MX      10      mail.school.com.

	102     IN      PTR     dns.school.com.

	102     IN      PTR     mail.school.com.

	102     IN      PTR     smtp.school.com.

	102     IN      PTR     pop3.school.com.

关闭防火墙

systemctl stop firewalld
	setenforce 0
	getenforce 

修改 /etc/mail/local-host-names 文件

vi  /etc/mail/local-host-names
# 内容:
school.com
192.168.56.102

修改/etc/mail/access文件

vi /etc/mail/access 
# 内容:
Connect: school.com 	RELAY
Connect: 192.168.56.102:	RELAY

使用makemap生成access.db文件

makemap hash /etc/mail/access.db < /etc/mail/access

编辑虚拟域用户文件 /etc/mail/virtusertable 文件

vi  /etc/mail/virtusertable
# 内容添加:
cn@school.com   user1@hbliti.com

使用makemap 生成virtusertable.db文件

makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable

编辑/etc/mail/sendmail.mc文件

vi /etc/mail/sendmail.mc
内容:
	把下面两行前面的dnl去掉
	TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
	define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
	将下行域修改为自己域
	LOCAL_DOMAIN(`school.com')dnl
	将下行的127.0.0.1修改为0.0.0.0
	DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

创建两个用户

useradd client1
useradd client2
passwd client1
passwd client2

编辑 /etc/dovecot/dovecot.conf

vi /etc/dovecot/dovecot.conf
内容:
protocols = imap pop3 lmtp
login_trusted_networks =192.168.56.0/24

编辑/etc/dovecot/conf.d/10-mail.conf 文件

vi /etc/dovecot/conf.d/10-mail.conf
# 内容:
mail_location =mbox: ~/mail:INBOX=/var/mail/%u
mbox_write_locks = fcntl # 有可能本来有

创建client1和client2用户的邮箱路径


```bash
mkdir -p /home/client1/mail/.imap/INBOX/
mkdir -p /home/client2/mail/.imap/INBOX/

修改文件/etc/skel/.bash_profile文件

vi /etc/skel/.bash_profile
内容添加:
if[! -d ~/mail/.imap/INBOX];then
			mkdir -p ~/mail/.imap/INBOX
fi

启动DNS服务器

systemctl start named
	出现问题使用:systemctl status named
		named-checkzone school.com  /var/named/school.com.zone

启动sendmail服务

systemctl start sendmail
systemctl enable sendmail

启动dovecot服务

systemctl start dovecot
systemctl enable dovecot

启动saslauthd服务

systemctl start saslauthd
systemctl enable saslauthd

安装telnet服务

yum -y install xinetd
yum -y install telnet-server
systemctl start xinetd
systemctl enable xinetd

在客户端安装telnet服务

yum -y install telnet

在客户端关闭防火墙

systemctl stop firewalld
	setenforce 0
	getenforce
	chmod 700 /var/mail/*
systemctl disable firewalld

测试连接服务端

	telnet 服务端ip地址 端口号
	telnet 192.168.56.102  25
	显示 220表示连接成功
	输入helo school.com 表明身份
	显示250表示身份验证成功
	mail from : client1@school.com  //发件人
	显示250...........sender ok 表示发件人没有问题
	rcpt to : client2@school.com     //收件人
	显示250.....recipient ok 表示收件人没有问题
	data   //表示开始编写邮件内容
	subject 邮件主题
	正文内容随便写
	结束编写回车 输入 . 按回车
	退出quit

客户端测试

	接收邮件:telnet 192.168.56.102 110
		显示OK表示连接没有问题
		user  client2 
		显示OK
		pass  密码
		显示OK Logged in
		查看邮件列表 list
		查看邮件 retr 邮件编号数字 如 retr 2	
		退出quit		
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生世一俗人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值