Linux基于postfix+dovecot+ssl搭建邮件服务器

1. 邮件系统的简单介绍:

        电子邮件系统基于邮件协议来完成电子邮件的传输,常见的邮件协议有下面这些。

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

  邮局协议版本3(Post Office Protocol 3):用于将电子邮件存储到本地主机,占用服务器的110/TCP端口。

  Internet消息访问协议版本4(Internet Message Access Protocol 4):用于在本地主机上访问邮件,占用服务器的143/TCP端口。

  一个最基础的电子邮件系统肯定要能提供发件服务和收件服务,为此需要使用基于SMTP协议的Postfix服务程序提供发件服务功能,并使用基于POP3协议的Dovecot服务程序提供收件服务功能。这样一来,用户就可以使用Outlook Express或Foxmail等客户端服务程序正常收发邮件了。

2. 准备环境:

2.1服务器准备

        首先我们检查我们的服务器能否telnet通我们要发送的一些邮件服务商的端口,比如qq,163,gmail等。

  telnet smtp.qq.com 25

        正常的情况是:

Trying 203.205.232.7...
Connected to smtp.qq.com.
Escape character is '^]'.
220 newxmesmtplogicsvrszb6.qq.com XMail Esmtp QQ Mail Server.

        如果不通的话需要更换服务器,因为此服务器商将这些给拦截了。

        需要放开的端口:25(SMTP服务,用于发送邮件),110(pop3服务,用于接收邮件)143(imap服务,用于接收邮件)

        如果我们使用了ssl的话,则需要另外放开:pop3开放465(发件) 995(收件)端口, imap开放465(发件) 993(收件)端口

        开放端口命令:

firewall-cmd --add-port=25/tcp --permanent
firewall-cmd --reload

2.2 域名解析配置(例如我的域名是:abc.com)

主机记录记录类型解析路线记录值
mailMX默认abc.com
mailA默认IP地址

        注:TTL值和优先级设置成默认即可。

2.3 修改hostname

hostnamectl  set-hostname   mail.域名

2.4 修改MTA(默认邮件传输代理)

alternatives --config mta 

   然后直接回车即可。检查下是否设置成功

alternatives --display mta

第一行可以看到mta的状态。 例如:mat - status is manual.就是ok了。

3. POSTFIX安装及配置

        postfix服务程序主配置文件中的重要参数:

参数作用

myhostname

邮局系统的主机名

mydomain

邮局系统的域名

myorigin

从本机发出邮件的域名名称

inet_interfaces

监听的网卡接口

mydestination

可接收邮件的主机名或域名

mynetworks

设置可转发哪些主机的邮件

relay_domains

设置可转发哪些网域的邮件

3.1 安装 postfix 

        在centos7里我们的postfix是系统自带的,但是centos7以前的版本是默认不带的,centos7版本以前是sendmail,安装前移除自带(二选一)。

yum remove postfix*  或者 yum remove senmail*

         移除后安装postfix。

yum install postfix

3.2 配置postfix(配置前建议先备份)

vim /etc/postfix/main.cf

  修改内容: 

queue_directory = /var/spool/postfix

command_directory = /usr/sbin

daemon_directory = /usr/libexec/postfix

data_directory = /var/lib/postfix

mail_owner = postfix

myhostname = mail.abc.com

mydomain = abc.com

myorigin = $myhostname

inet_interfaces = all

inet_protocols = ipv4

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

unknown_local_recipient_reject_code = 550

mynetworks = all

relay_domains = $mydestination, 163.com, gmail.com, sina.com, qq.com, foxmail.com, hotmail.com 

home_mailbox = Maildir/

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

sendmail_path = /usr/sbin/sendmail.postfix

newaliases_path = /usr/bin/newaliases.postfix

mailq_path = /usr/bin/mailq.postfix

setgid_group = postdrop

html_directory = no

manpage_directory = /usr/share/man

sample_directory = /usr/share/doc/postfix-2.10.1/samples

readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES

readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
#以下是SMTPS配置
smtpd_use_tls = yes
smtpd_tls_cert_file = /root/ssl/server.crt
smtpd_tls_key_file = /root/ssl/private.key
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
smtpd_tls_auth_only = yes
smtpd_tls_loglevel = 2
smtpd_tls_security_level=may
smtpd_tls_protocols = !SSLv2, !SSLv3
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_unauth_pipelining, reject_invalid_hostname, reject_rbl_client cbl.anti-spam.org.cn
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth

3.3  编辑文件master.cf (开启ssl后需要配置SMTPS)

vim /etc/postfix/master.cf 

 修改内容:

#取消注释

smtps     inet  n       -       n       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes

3.4 开启postfix服务并添加到系统自启。

systemctl  restart  postfix
systemctl  enable  postfix

4. 安装并配置dovecot  

安装:yum install dovecot

4.1 编辑文件dovecot.conf 

vim /etc/dovecot/dovecot.conf  

修改内容:

#26行改为 listen = *

4.2 编辑文件10-mail.conf

vim /etc/dovecot/10-mail.conf

 修改内容:

# 30行: 取消注释并添加 mail_location = maildir:~/Maildir

4.3 编辑文件10-ssl.conf

vim /etc/dovecot/10-ssl.conf

 修改内容:

# 8行: 将ssl的值修改为 ssl = yes

 4.4 启动dovecot并添加到开机自启

systemctl restart dovecot

systemctl enable dovecot

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值