热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS7.2部署邮件服务器(Postfix)

这篇文章主要为大家详细介绍了CentOS7.2如何部署邮件服务器Postfix,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一、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 hostname

myhostname = linuxprobe.srv.world
# line 83: uncomment and specify domain name

mydomain = srv.world
# line 99: uncomment

myorigin = $mydomain
# line 116: change

inet_interfaces = all
# line 164: add

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# line 264: uncomment and specify your local network

mynetworks = 127.0.0.0/8, 10.0.0.0/24
# line 419: uncomment (use mailboxdir)

home_mailbox = mailbox/
# line 574: add

smtpd_banner = $myhostname ESMTP
# add follows to the end

# limit an email size for 10M

message_size_limit = 10485760

# limit a mailbox for 1G

mailbox_size_limit = 1073741824
# for SMTP-Auth

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_optiOns= noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_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 --permanent
success
[root@dlp ~]# firewall-cmd --reload
success 

三、Dovecot 安装

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

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

[root@linuxprobe ~]# vi /etc/dovecot/dovecot.conf
# line 24: uncomment
protocols = 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: add
auth_mechanisms = plain login
[root@linuxprobe ~]# vi /etc/dovecot/conf.d/10-mail.conf
# line 30: uncomment and add
mail_location = maildir:~/Maildir
[root@linuxprobe ~]# vi /etc/dovecot/conf.d/10-master.conf
# line 96-98: uncomment and add like follows
# Postfix smtp-auth
unix_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} --permanent
success
[root@vdevops ~]# firewall-cmd --reload
success 

四、SSL设置

配置SSL以加密连接
[1] 首先创建证书,传送门:https://www.jb51.net/article/97434.htm

[2] 为SSL配置Postfix和Dovecot。

# add to the end
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt
smtpd_tls_key_file = /etc/pki/tls/certs/server.key
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
[root@linuxprobe ~]# vi /etc/postfix/master.cf
# line 26-28: uncomment
smtps  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: change
ssl = yes
# line 14,15: specify certificates
ssl_cert = 

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

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

邮件日志报告: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/maillog
Postfix log summaries for Jul 14
Grand 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/domains
Per-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   0

Host/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.world

Host/Domain Summary: Messages Received
---------------------------------------
 msg cnt bytes host/domain
 -------- ------- -----------
  2  2879 mail.srv.world

Senders by message count
------------------------
  2 cent@mail.srv.world

Recipients by message count
---------------------------
  3 redhat@srv.world
  2 cent@mail.srv.world

Senders by message size
-----------------------
 2879 cent@mail.srv.world

Recipients by message size
--------------------------
 4119 redhat@srv.world
 2453 cent@mail.srv.world

message deferral detail: none
message bounce detail (by relay): none
message reject detail: none
message reject warning detail: none
message hold detail: none
message discard detail: none
smtp delivery failures: none
Warnings
--------
 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: none
Panics: none
Master 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

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


推荐阅读
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • ! Configuration File for keepalivedglobal_defs {   notification_email {     ... [详细]
  • 参考网上搜到的结果,但仍有问题,调试后完整步骤如下配置163邮箱SMTP,需要配置授权码(作为密码使用)&#x ... [详细]
  • 近来公司前后端星散,前端自力供应页面和静态效劳很天然的就想到了用nginx去做静态效劳器。同时因为跨域了,就想应用nginx的反向代办去处置惩罚一下跨域,但是在解决题目的同时,发明 ... [详细]
  • 关于对整站进行二级域名的改造
    缘由在此之前,博客的访问地址为https:www.codelabo.cnblog(当然现在页可以访问,因为做了重定向),改造成了目前的https:blog.codelabo.cn, ... [详细]
  • 由于php没有提供现成的smtp函数,却提供了一个功能不甚灵活的mail()函数,这个函数需要服务器配置上的支持,并且不支持smtp验证,在很多场合无法正常的工作,因此不建议使用。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • php设置数组大小_【大厂必备】2020超经典PHP面试题
    结合我自己这段时间的面试情况,面对的一些php面试题列举出来,基本上结合自己的看法回答的,不妥的地方请大家指出去,与大家一起 ... [详细]
  •  项目地址https:github.comffmydreamWiCar界面做的很难看,美工方面实在不在行。重点是按钮触摸事件的处理,这里搬了RepeatListener项目代码,例 ... [详细]
  • 分享西西弗斯自动求职系统【PHP】
    后端开发|php教程后端开发-php教程做这个系统的背景是前段时间帮女朋友找工作,大家也许都有过这样的感受,发出一份份简历都石沉大海,为什么呢?经过测试,我发现是因为邮件的阅读率并 ... [详细]
  • 软测管理工具实践04
    一.今日任务——安装完成QC9.0进过几天的安装,终于把QC9.0成功的安装在了自己win7系统的电脑上。其中遇到的困难很多,首先是QC的版本问题&#x ... [详细]
  • 一、Zabbix简介1.1Zabbix简介  官方网站:http:www.zabbix.com。Zabbix通过CS模式采集数据,通过BS模式在web端展示和配置。1.2Za ... [详细]
  • 实际开发过程中使用到邮箱的概率很高,那么如何借助python使用qq邮箱发送邮件呢?代码很简单,短短几行代码就可以实现这个功能。使用到的模 ... [详细]
  • Mysql + keepalive高可用搭建
    Mysql+keepalive高可用搭建系统环境:centos6.8Ip:192.168.137.36主库192.168.137.38从库VIP(虚拟ip浮动ip):192.168.13 ... [详细]
author-avatar
Vivian329306
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有