分页: 1 / 1

如何让opensmtpd将收到的邮件秘密抄送一个指定账号

发表于 : 2016-08-08 9:17
acheng
最近帮一个朋友配置了一个OpenSMTPD的邮件服务器(CentOS 7上),其中一个想要的功能是管理员的邮箱账号想要接收发送给另外某些账号的邮件。

整体的OpenSMTPD的设置是按照官方示例来做的。OpenSMTPD + Dovecot,使用虚拟域名。本地邮件投送由dovecot的lmtp负责。所有虚拟账号最后都要映射到一个叫做vmail的真实账号上。

详见https://www.opensmtpd.org/faq/example1.html

于是我在opensmtpd 的misc邮件列表上问了一下,有人回应说用table的映射功能应该可以实现。
重读了几遍table的手册,发现在指定虚拟用户的表(table)中,只要将管理员邮箱(或任何其它地址)添加到某个账户的映射中,那么发送到这个账户的邮件就会同时被dovecot投递到管理员邮箱。

下面是我的虚拟用户表

# 其中vmail 是系统账号,所有虚拟账号都要映射到此账号才能收到邮件
#admin@就是要接收其它用户邮件的账号。
#================ my virtual_users table ===========

admin@example.com vmail
sensor@example.com vmail,admin@example.com
scale@example.com vmail,admin@example.com


下面是smtpd.conf文件。注意此配置是在CentOS7上,用在OpenBSD上的话是没有eth1这样的接口名称的。需要改为对应的网卡接口名称。
同时也要注意设置本地发送的邮件的别名。上述虚拟用户列表只负责处理外部发送过来的邮件。
#=============== my smtpd.conf ==========================
pki mail.example.com certificate "/etc/opensmtpd/mail.example.com.crt"
pki mail.example.com key "/etc/opensmtpd/mail.example.com.key"
table aliases file:/etc/opensmtpd/aliases
table vdomains file:/etc/opensmtpd/vdomains
table passwd file:/etc/opensmtpd/passwd
table virtual_users file:/etc/opensmtpd/virtual_userss
listen on lo
listen on eth1 port 25 tls pki mail.example.com
listen on eth1 port 587 tls-require pki mail.example.com auth <passwd>
accept from local for local alias <aliases> deliver to lmtp "/var/run/dovecot/lmtp" rcpt-to

accept from any for domain <vdomains> virtual <virtual_users> deliver to lmtp "/var/run/dovecot/lmtp" rcpt-to

accept from local for any relay

发表于 : 2016-08-08 18:34
unreal
为什么选择CentOS?

Re:

发表于 : 2016-08-10 17:47
acheng
unreal 写了:为什么选择CentOS?
阿里云,没有OB可选。

发表于 : 2016-08-12 13:22
unreal
BSD在国内唉……Linux的话红帽系确是不二之选。