CentOS 7.2下安装部署邮件服务器(Postfix)的步骤详解

本文主要介绍的是在CentOS 7.2安装部署邮件服务器(Postfix)的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:

Postfix 是一种电子邮件服务器,它是由任职于IBM华生研究中心(T.J. Watson Research Center)的荷兰籍研究员Wietse Venema为了改良sendmail邮件服务器而产生的。最早在1990年代晚期出现,是一个开放源代码的软件。

注意:以下所有配置的命名都是根据主机的hostname变量来配置的,如果hostname更换了的话,需要重新生成证书。

生成ssl证书

1、生成证书的脚本代码

以hostname为命名生成证书,运行脚本后需输入四次相同密码(密码须包含数字和字母)

  #!/bin/sh  rm -rf $(hostname).*    openssl genrsa -des3 -out $(hostname).key 1024    SUBJECT="/C=US/ST=Mars/L=iTranswarp/O=iTranswarp/OU=iTranswarp/CN=$(hostname)"    openssl req -new -subj $SUBJECT -key $(hostname).key -out $(hostname).csr    mv $(hostname).key $(hostname).origin.key    openssl rsa -in $(hostname).origin.key -out $(hostname).key    openssl x509 -req -days 3650 -in $(hostname).csr -signkey $(hostname).key -out $(hostname).crt    cp $(hostname).crt /etc/pki/tls/certs/$(hostname).crt  cp $(hostname).key /etc/pki/tls/certs/$(hostname).key    echo "the key path:/etc/pki/tls/certs/$(hostname).key"  echo "the crt path:/etc/pki/tls/certs/$(hostname).crt"    rm -rf $(hostname).*

Postfix安装及配置

安装

  yum -y install postfix

配置

vim /etc/postfix/main.cf

  # line 75: uncomment and specify hostname  myhostname = $(hostname)    # line 83: uncomment and specify domain name  mydomain = test.cn    # 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      # 在配置文件尾部追加以下内容    # 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  smtpd_use_tls = yes  smtpd_tls_cert_file = /etc/pki/tls/certs/$(hostname).crt  smtpd_tls_key_file = /etc/pki/tls/certs/$(hostname).key  smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache

vim /etc/postfix/master.cf

  # line 26-28: uncomment  smtps  inet n  -  n  -  -  smtpd   -o syslog_name=postfix/smtps   -o smtpd_tls_wrappermode=yes

Dovecot 安装及配置

安装

  yum -y install dovecot

配置

vim /etc/dovecot/dovecot.conf

  # line 24: uncomment  protocols = imap pop3 lmtp  # line 30: uncomment and change ( if not use IPv6 )  listen = *

vim /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

vim /etc/dovecot/conf.d/10-mail.conf

  # line 30: uncomment and add  mail_location = maildir:~/Maildir

vim /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  }

vim /etc/dovecot/conf.d/10-ssl.conf

  # line 8: change  ssl = yes  # line 14,15: specify certificates  ssl_cert = </etc/pki/tls/certs/$(hostname).crt  ssl_key = </etc/pki/tls/certs/$(hostname).key

运行

  systemctl restart postfix  systemctl enable postfix  systemctl start dovecot  systemctl enable dovecot    firewall-cmd --add-service=smtp --permanent  firewall-cmd --add-port={110/tcp,143/tcp} --permanent  firewall-cmd --add-service={pop3s,imaps} --permanent  firewall-cmd --add-port=465/tcp --permanent  firewall-cmd --reload

邮件日志报告pflogsumm

安装

  yum -y install postfix-perl-scripts

查看

  perl /usr/sbin/pflogsumm -d yesterday /var/log/maillog

每天1:00AM 定时发送邮件日志摘要到根

  crontab -e  00 01 * * * perl /usr/sbin/pflogsumm -e -d yesterday /var/log/maillog | mail -s 'Logwatch for Postfix' root

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

参与评论