首页 > 服务器 > Web服务器 > 正文

CentOS 7.2部署邮件服务器(Postfix)

2024-09-01 13:49:10
字体:
来源:转载
供稿:网友

一、Postfix简介

Postfix 是一种电子邮件服务器,它是由任职于IBM华生研究中心(T.J. Watson Research Center)的荷兰籍研究员Wietse Venema为了改良sendmail邮件服务器而产生的。最早在1990年代晚期出现,是一个开放源代码的软件。
Postfix 官方网站:http://www.postfix.org/
Postfix 下载地址:http://www.postfix.org/download.html

二、Postfix安装

安装Postfix以配置SMTP服务器
[1] 即使CentOS系统安装了[最小安装],也会安装Postfix,但如果Postfix不安装,请先安装它,如下所示。
[root@linuxprobe ~]# yum -y install postfix

[2] 此示例显示配置SMTP-Auth以使用Dovecot的SASL函数。

[root@linuxprobe ~]# vi /etc/postfix/main.cf# line 75: uncomment and specify hostnamemyhostname = linuxprobe.srv.world# line 83: uncomment and specify domain namemydomain = srv.world# line 99: uncommentmyorigin = $mydomain# line 116: changeinet_interfaces = all# line 164: addmydestination = $myhostname, localhost.$mydomain, localhost, $mydomain# line 264: uncomment and specify your local networkmynetworks = 127.0.0.0/8, 10.0.0.0/24# line 419: uncomment (use mailboxdir)home_mailbox = mailbox/# line 574: addsmtpd_banner = $myhostname ESMTP# add follows to the end# limit an email size for 10Mmessage_size_limit = 10485760# limit a mailbox for 1Gmailbox_size_limit = 1073741824# for SMTP-Authsmtpd_sasl_type = dovecotsmtpd_sasl_path = private/authsmtpd_sasl_auth_enable = yessmtpd_sasl_security_options = noanonymoussmtpd_sasl_local_domain = $myhostnamesmtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject[root@linuxprobe ~]# systemctl restart postfix[root@linuxprobe ~]# systemctl enable postfix

[3]如果Firewalld正在运行,请允许SMTP服务。 SMTP使用25 / TCP。

[root@dlp ~]# firewall-cmd --add-service=smtp --permanentsuccess[root@dlp ~]# firewall-cmd --reloadsuccess 

三、Dovecot 安装

安装Dovecot以配置POP / IMAP服务器
[1] 安装Dovecot.
[root@linuxprobe ~]# yum -y install dovecot

[2] 此示例显示配置为向Postfix提供SASL功能 .

[root@linuxprobe ~]# vi /etc/dovecot/dovecot.conf# line 24: uncommentprotocols = imap pop3 lmtp# line 30: uncomment and change ( if not use IPv6 )listen = *[root@linuxprobe ~]# vi /etc/dovecot/conf.d/10-auth.conf# line 10: uncomment and change ( allow plain text auth )disable_plaintext_auth = no# line 100: addauth_mechanisms = plain login[root@linuxprobe ~]# vi /etc/dovecot/conf.d/10-mail.conf# line 30: uncomment and addmail_location = maildir:~/Maildir[root@linuxprobe ~]# vi /etc/dovecot/conf.d/10-master.conf# line 96-98: uncomment and add like follows# Postfix smtp-authunix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix}[root@linuxprobe ~]# vi /etc/dovecot/conf.d/10-ssl.conf# line 8: change (not require SSL)ssl = no[root@linuxprobe ~]# systemctl start dovecot[root@linuxprobe ~]# systemctl enable dovecot

[3] 如果Firewalld正在运行,请允许POP / IMAP服务。 POP使用110 / TCP,IMAP使用143 / TCP.

[root@vdevops ~]# firewall-cmd --add-port={110/tcp,143/tcp} --permanentsuccess[root@vdevops ~]# firewall-cmd --reloadsuccess 

四、SSL设置

配置SSL以加密连接
[1] 首先创建证书

[2] 为SSL配置Postfix和Dovecot。

# add to the endsmtpd_use_tls = yessmtpd_tls_cert_file = /etc/pki/tls/certs/server.crtsmtpd_tls_key_file = /etc/pki/tls/certs/server.keysmtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache[root@linuxprobe ~]# vi /etc/postfix/master.cf# line 26-28: uncommentsmtps  inet n  -  n  -  -  smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes[root@linuxprobe ~]# vi /etc/dovecot/conf.d/10-ssl.conf# line 8: changessl = yes# line 14,15: specify certificatesssl_cert = </etc/pki/tls/certs/server.crtssl_key = </etc/pki/tls/certs/server.key[root@linuxprobe ~]# systemctl restart postfix dovecot

[3] 如果Firewalld正在运行,请允许SMTPS / POP3S / IMAPS服务。 SMTPS使用465 /
TCP,POP3S使用995 / TCP,IMAPS使用993 / TCP。

[root@vdevops ~]# firewall-cmd --add-service={pop3s,imaps} --permanentsuccess[root@vdevops ~]# firewall-cmd --add-port=465/tcp --permanentsuccess[root@vdevops ~]# firewall-cmd --reloadsuccess 

邮件日志报告:pflogsumm

安装pflogsumm这是Postfix日志报告工具
[1] 安装postfix-perl-scripts包 .

[root@linuxprobe ~]# yum -y install postfix-perl-scripts# generate log summary for yesterday[root@linuxprobe ~]# perl /usr/sbin/pflogsumm -d yesterday /var/log/maillogPostfix log summaries for Jul 14Grand Totals------------messages  2 received  5 delivered  0 forwarded  0 deferred  0 bounced  0 rejected (0%)  0 reject warnings  0 held  0 discarded (0%) 2879 bytes received 6572 bytes delivered  1 senders  1 sending hosts/domains  2 recipients  2 recipient hosts/domainsPer-Hour Traffic Summary------------------------ time   received delivered deferred bounced  rejected -------------------------------------------------------------------- 0000-0100   0   0   0   0   0 0100-0200   0   0   0   0   0 0200-0300   0   0   0   0   0 0300-0400   0   0   0   0   0 0400-0500   0   0   0   0   0 0500-0600   0   0   0   0   0 0600-0700   0   0   0   0   0 0700-0800   0   0   0   0   0 0800-0900   0   0   0   0   0 0900-1000   0   0   0   0   0 1000-1100   2   5   0   0   0 1100-1200   0   0   0   0   0 1200-1300   0   0   0   0   0 1300-1400   0   0   0   0   0 1400-1500   0   0   0   0   0 1500-1600   0   0   0   0   0 1600-1700   0   0   0   0   0 1700-1800   0   0   0   0   0 1800-1900   0   0   0   0   0 1900-2000   0   0   0   0   0 2000-2100   0   0   0   0   0 2100-2200   0   0   0   0   0 2200-2300   0   0   0   0   0 2300-2400   0   0   0   0   0Host/Domain Summary: Message Delivery-------------------------------------- sent cnt bytes defers avg dly max dly host/domain -------- ------- ------- ------- ------- -----------  3  4119  0  0.4 s 0.8 s srv.world  2  2453  0  0.1 s 0.1 s mail.srv.worldHost/Domain Summary: Messages Received--------------------------------------- msg cnt bytes host/domain -------- ------- -----------  2  2879 mail.srv.worldSenders by message count------------------------  2 cent@mail.srv.worldRecipients by message count---------------------------  3 redhat@srv.world  2 cent@mail.srv.worldSenders by message size----------------------- 2879 cent@mail.srv.worldRecipients by message size-------------------------- 4119 redhat@srv.world 2453 cent@mail.srv.worldmessage deferral detail: nonemessage bounce detail (by relay): nonemessage reject detail: nonemessage reject warning detail: nonemessage hold detail: nonemessage discard detail: nonesmtp delivery failures: noneWarnings-------- tlsmgr (total: 6)   3 redirecting the request to postfix-owned data_directory /var/li...   3 request to update table btree:/etc/postfix/smtpd_scache in non-...Fatal Errors: nonePanics: noneMaster daemon messages----------------------  4 daemon started -- version 2.10.1, configuration /etc/postfix  3 terminating on signal 15  1 reload -- version 2.10.1, configuration /etc/postfix[root@linuxprobe ~]# crontab -e# 发送邮件日志摘要在AM每天1:00到根00 01 * * * perl /usr/sbin/pflogsumm -e -d yesterday /var/log/maillog | mail -s 'Logwatch for Postfix' root

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表