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

发布时间 - 2026-01-11 01:02:25    点击率:

本文主要介绍的是在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

总结

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


# centos7安装postfix  # centos  # 安装postfix  # centos安装邮件服务器  # 如何在CentOS8上安装和配置Postfix邮件服务器的方法示例  # CentOS 7.2部署邮件服务器(Postfix)  # Centos7.9搭建自主邮件服务器详细步骤  # 邮件服务器  # 都是  # 是一个  # 是在  # 是一种  # 相关内容  # 荷兰  # 是由  # 换了  # 来看看  # 早在  # 这篇文章  # 谢谢大家  # 配置文件  # 发送邮件  # 开放源代码  # 有疑问  # path  # bash  # echo 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  Laravel如何保护应用免受CSRF攻击?(原理和示例)  Python自动化办公教程_ExcelWordPDF批量处理案例  如何快速选择适合个人网站的云服务器配置?  Bootstrap CSS布局之列表  网站制作软件免费下载安装,有哪些免费下载的软件网站?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  EditPlus中的正则表达式实战(6)  android nfc常用标签读取总结  Swift开发中switch语句值绑定模式  用v-html解决Vue.js渲染中html标签不被解析的问题  Laravel如何处理CORS跨域请求?(配置示例)  佛山网站制作系统,佛山企业变更地址网上办理步骤?  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  Swift中swift中的switch 语句  大连 网站制作,大连天途有线官网?  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  微信小程序 input输入框控件详解及实例(多种示例)  如何为不同团队 ID 动态生成多个非值班状态按钮  长沙企业网站制作哪家好,长沙水业集团官方网站?  高防服务器如何保障网站安全无虞?  网站建设保证美观性,需要考虑的几点问题!  Linux系统运维自动化项目教程_Ansible批量管理实战  Internet Explorer官网直接进入 IE浏览器在线体验版网址  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  PHP 500报错的快速解决方法  Python文件流缓冲机制_IO性能解析【教程】  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  jQuery 常见小例汇总  Laravel如何创建自定义Facades?(详细步骤)  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  三星网站视频制作教程下载,三星w23网页如何全屏?  Linux网络带宽限制_tc配置实践解析【教程】  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何在阿里云域名上完成建站全流程?  三星、SK海力士获美批准:可向中国出口芯片制造设备  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  Laravel Fortify是什么,和Jetstream有什么关系  如何挑选优质建站一级代理提升网站排名?  如何快速上传自定义模板至建站之星?  如何在搬瓦工VPS快速搭建网站?  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  开心动漫网站制作软件下载,十分开心动画为何停播?  如何获取PHP WAP自助建站系统源码?  如何注册花生壳免费域名并搭建个人网站?  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何在阿里云香港服务器快速搭建网站?  Laravel如何与Pusher实现实时通信?(WebSocket示例)  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】