Postfix+Dovecot+Roundcube开源邮件系统搭建系列3:Postfix安装配置

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邮件知识百科

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CentOS+Postfix+Dovecot+Postfixadmin+Roundcube邮件服务器的搭建步骤如下: 1. 安装 CentOS 操作系统,并更新至最新版。 2. 安装 Postfix 邮件服务器,并进行基本配置。 3. 安装 Dovecot IMAP/POP3 服务器,并进行基本配置。 4. 安装 Postfixadmin 邮箱管理系统,并进行基本配置。 5. 安装 Roundcube Webmail 邮件客户端,并进行基本配置。 具体步骤如下: 1. 安装 CentOS 操作系统,并更新至最新版。 在安装 CentOS 操作系统时,选择最小化安装,并根据实际情况进行分区和网络配置安装完成后,使用以下命令更新系统: ``` yum update ``` 2. 安装 Postfix 邮件服务器,并进行基本配置。 使用以下命令安装 Postfix: ``` yum install postfix ``` 安装完成后,修改 /etc/postfix/main.cf 文件,使其支持 TLS 和 SASL 认证: ``` smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt smtpd_tls_key_file = /etc/pki/tls/private/server.key smtpd_tls_security_level = may smtp_tls_security_level = may smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination ``` 然后重启 Postfix 服务: ``` systemctl restart postfix ``` 3. 安装 Dovecot IMAP/POP3 服务器,并进行基本配置。 使用以下命令安装 Dovecot: ``` yum install dovecot ``` 安装完成后,修改 /etc/dovecot/dovecot.conf 文件,使其支持 TLS 和 SASL 认证: ``` ssl_cert = </etc/pki/tls/certs/server.crt ssl_key = </etc/pki/tls/private/server.key auth_mechanisms = plain login ``` 然后重启 Dovecot 服务: ``` systemctl restart dovecot ``` 4. 安装 Postfixadmin 邮箱管理系统,并进行基本配置。 使用以下命令安装 Postfixadmin: ``` yum install postfixadmin ``` 安装完成后,修改 /etc/httpd/conf.d/postfixadmin.conf 文件,使其支持 SSL: ``` SSLEngine on SSLCertificateFile /etc/pki/tls/certs/server.crt SSLCertificateKeyFile /etc/pki/tls/private/server.key ``` 然后重启 Apache 服务: ``` systemctl restart httpd ``` 访问 https://your-domain.com/postfixadmin,使用管理员账号登录,创建邮箱账号和域名等相关配置。 5. 安装 Roundcube Webmail 邮件客户端,并进行基本配置。 使用以下命令安装 Roundcube: ``` yum install roundcubemail ``` 安装完成后,修改 /etc/httpd/conf.d/roundcubemail.conf 文件,使其支持 SSL: ``` SSLEngine on SSLCertificateFile /etc/pki/tls/certs/server.crt SSLCertificateKeyFile /etc/pki/tls/private/server.key ``` 然后重启 Apache 服务: ``` systemctl restart httpd ``` 访问 https://your-domain.com/roundcubemail,使用邮箱账号登录,即可使用 Roundcube 邮件客户端。 以上就是 CentOS+Postfix+Dovecot+Postfixadmin+Roundcube邮件服务器的搭建步骤,如有问题可以参考相关文档或者咨询技术人员。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值