Postfix+Dovecot+Roundcube开源邮件系统搭建系列3:Postfix安装配置
创始人
2025-01-08 03:32:31
0

1. Postfix安装

通过yum直接安装:

yum -y install postfix postfix-mysql

启动服务并设置开机自启动:

systemctl start postfix systemctl enable postfix

2. Postfix配置

Postfix配置文件在/etc/postfix目录,主要涉及main.cf、master.cf配置文件。

  • main.cf – 包含 Postfix 的全局配置。
  • master.cf – 指定 Postfix 与各种进程的交互以完成邮件发送。
  • access – 指定访问规则,如允许连接到 Postfix 的主机。
  • transport – 将电子邮件地址映射到中继主机。
  • alias – 包含邮件协议所需的可配置列表,其描述用户 ID 别名。请注意,您可以在 /etc/ 目录中找到此文件。

2.1 /etc/postfix/main.cf 配置文件

这是一个非常复杂的配置文件,参考其他文章,可以直接复制如下配置文件内容替换原有内容:

# 本站域名 mydomain = mailabc.cn # 设置默认域名 myorigin = mail.mailabc.cn # 设置本机主机名 myhostname = mail.mailabc.cn # 本站可以接受的域名 mydestination = \$mydomain inet_interfaces = all # 配置可以发送的邮件大小为50M message_size_limit=52428800 # 邮箱空间不做限制 mailbox_size_limit=0 # 配置ssl证书 smtpd_tls_cert_file=/var/sslcert/www.mailabc.cn.pem # 配置ssl证书私钥 smtpd_tls_key_file=/var/sslcert/www.mailabc.cn.key # 启用tls加密 smtpd_use_tls=yes # 仅将传入的 SMTP 连接限制到经过身份验证的用户 smtpd_tls_auth_only = yes # 为 SMTP 身份验证启用 Dovecot SASL  smtpd_sasl_type = dovecot # 使用 UNIX-域套接字在 Postfix 和 Dovecot 之间进行通信 smtpd_sasl_path = private/auth # 启用 SMTP 身份验证 smtpd_sasl_auth_enable = yes # 收件人地址过滤规则。 # permit_sasl_authenticated:允许通过 SMTP 认证的用户向外发送邮件 # permit_mynetworks:允许 IP 地址在 mynetworks 配置项中定义的网络范围内的客户端使用本邮件系统发送邮件 # reject_unauth_destination: 当收件人地址不包括在 Postfix 的授权网络内时,将拒绝发送该邮件 smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination # smtp banner提示信息,即连接到25端口的回显信息 smtpd_banner = $myhostname ESMTP $mail_name biff = no append_dot_mydomain = no readme_directory = no # 别名相关配置 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 recipient_delimiter = + # 表示通过lmtp (Local Mail Transfer Protocol)协议,将本地邮件传递到dovecot中 virtual_transport = lmtp:unix:private/dovecot-lmtp # 虚拟域名通过mysql查询,指定查询脚本位置 virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf # 虚拟用户通过mysql查询,指定查询脚本位置 virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf # 虚拟用户别名通过mysql查询,指定查询脚本位置 virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf

上述提到需要通过mysql查询虚拟用户、别名等信息,需要单独配置。里面涉及mysql中配置的数据库名称、授权账户、密码等信息,需要根据实际修改。

编辑 /etc/postfix/mysql-virtual-mailbox-domains.cf 配置:
user = mailuser password = admin@123 hosts = 127.0.0.1 dbname = maildb query = SELECT 1 FROM vt_domain WHERE name='%s'
编辑 /etc/postfix/mysql-virtual-mailbox-maps.cf 配置:
user = mailuser password = admin@123 hosts = 127.0.0.1 dbname = maildb query = SELECT 1 FROM vt_user WHERE email='%s'
编辑 /etc/postfix/mysql-virtual-alias-maps.cf 配置:
user = mailuser password = admin@123 hosts = 127.0.0.1 dbname = maildb query = SELECT destination FROM vt_alias WHERE source='%s'

重启postfix服务:

systemctl restart postfix

可以通过postmap测试上述配置的正确性:

# 返回1,表示查询到mailabc.cn域名 [root@localhost postfix]# postmap -q mailabc.cn mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf 1  # 返回1,表示查询到admin@mailabc.cn这个用户 [root@localhost postfix]# postmap -q admin@mailabc.cn mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf 1  # 返回admin@mailabc.cn,表示查询到postmaster@mailabc.cn别名对应的真实账号 [root@localhost postfix]# postmap -q postmaster@mailabc.cn mysql:/etc/postfix/mysql-virtual-alias-maps.cf admin@mailabc.cn

2.2 /etc/postfix/master.cf 配置文件

该配置文件也比较复杂,用于配置各进程的交互规则。可以清空原有配置,直接复制下面的配置。其中smtp、submission、smtps分别表示启用这三个服务,分别对应25、587、465协议端口。

该配置文件有严格的缩进检查,-o开头有两个空格,表示上一层配置的参数。

smtp      inet  n       -       n       -       -       smtpd submission inet n       -       -       -       -       smtpd   -o syslog_name=postfix/submission   -o smtpd_tls_security_level=encrypt   -o smtpd_sasl_auth_enable=yes   -o smtpd_client_restrictions=permit_sasl_authenticated,reject smtps     inet  n       -       y       -       -       smtpd   -o syslog_name=postfix/smtps   -o smtpd_tls_wrappermode=yes   -o smtpd_sasl_auth_enable=yes   -o smtpd_relay_restrictions=permit_sasl_authenticated,reject   -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject   -o smtpd_sasl_type=dovecot   -o smtpd_sasl_path=private/auth pickup    unix  n       -       n       60      1       pickup cleanup   unix  n       -       n       -       0       cleanup qmgr      unix  n       -       n       300     1       qmgr tlsmgr    unix  -       -       n       1000?   1       tlsmgr rewrite   unix  -       -       n       -       -       trivial-rewrite bounce    unix  -       -       n       -       0       bounce defer     unix  -       -       n       -       0       bounce trace     unix  -       -       n       -       0       bounce verify    unix  -       -       n       -       1       verify flush     unix  n       -       n       1000?   0       flush proxymap  unix  -       -       n       -       -       proxymap proxywrite unix -       -       n       -       1       proxymap smtp      unix  -       -       n       -       -       smtp relay     unix  -       -       n       -       -       smtp   -o syslog_name=postfix/$service_name showq     unix  n       -       n       -       -       showq error     unix  -       -       n       -       -       error retry     unix  -       -       n       -       -       error discard   unix  -       -       n       -       -       discard local     unix  -       n       n       -       -       local virtual   unix  -       n       n       -       -       virtual lmtp      unix  -       -       n       -       -       lmtp anvil     unix  -       -       n       -       1       anvil scache    unix  -       -       n       -       1       scache

至此,Postfix基本配置完毕,此时可以通过sendmail或者mail命令做一些发信测试,不过大概率会失败的,主要原因是里面与Dovecot相关的内容尚未配置。

其他配置请查看本系列其他文章。

参考来源:Postfix+Dovecot+Roundcube开源邮件系统搭建系列3:Postfix安装配置 | MailABC邮件知识百科

相关内容

热门资讯

绝活儿辅助!广西老友玩老是输怎... 绝活儿辅助!广西老友玩老是输怎么办(辅助挂)都是真的有辅助app(讲解有挂)在进入广西老友玩老是输怎...
法门辅助!福建13水插件(辅助... 法门辅助!福建13水插件(辅助挂)一贯是有辅助技巧(有挂技术)1、许多玩家不知道福建13水插件辅助怎...
办法辅助!潮友会app下载官方... 办法辅助!潮友会app下载官方辅助器(辅助挂)真是真的是有辅助app(有挂教程)该软件可以轻松地帮助...
妙招辅助!邯郸胡乐挂辅助(辅助... 妙招辅助!邯郸胡乐挂辅助(辅助挂)好像存在有辅助插件(有挂方略)1、上手简单,内置详细流程视频教学,...
教程书辅助!乐酷辅助(辅助挂)... 教程书辅助!乐酷辅助(辅助挂)其实存在有辅助脚本(有挂细节)乐酷辅助能透视中分为三种模型:乐酷辅助模...
学习辅助!决战卡五星辅助(辅助... 学习辅助!决战卡五星辅助(辅助挂)本来真的是有辅助软件(有人有挂)学习辅助!决战卡五星辅助(辅助挂)...
绝活辅助!边锋嘉兴麻将辅助器(... 绝活辅助!边锋嘉兴麻将辅助器(辅助挂)真是真的有辅助神器(新版有挂)1、边锋嘉兴麻将辅助器公共底牌简...
举措辅助!枫叶辅助器(辅助挂)... 举措辅助!枫叶辅助器(辅助挂)本来存在有辅助技巧(竟然有挂)1、下载好枫叶辅助器正确养号方法之后点击...
讲义辅助!点我达辅助(辅助挂)... 讲义辅助!点我达辅助(辅助挂)一直存在有辅助技巧(有人有挂)1、点我达辅助辅助器安装包、点我达辅助辅...
模块辅助!威信茶馆有挂的吗(辅... 模块辅助!威信茶馆有挂的吗(辅助挂)一直真的是有辅助脚本(揭秘有挂)1、玩家可以在威信茶馆有挂的吗线...