我正在尝试使用设置 postfix 邮件服务器
- 一个简单的内容过滤器(http://www.postfix.org/FILTER_README.html#simple_filter)
- 鸽子作为送货代理。
always_bcc
保留每封发送的邮件的副本。
我的相关配置是:
大师.cf
smtp inet n - y - - smtpd
-o content_filter=filter:dummy
pickup unix n - y 60 1 pickup
cleanup unix n - y - 0 cleanup
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - y 1000? 1 tlsmgr
rewrite unix - - y - - trivial-rewrite
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
trace unix - - y - 0 bounce
verify unix - - y - 1 verify
flush unix n - y 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - y - - smtp
relay unix - - y - - smtp
-o syslog_name=postfix/$service_name
showq unix n - y - - showq
error unix - - y - - error
retry unix - - y - - error
discard unix - - y - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - y - - lmtp
anvil unix - - y - 1 anvil
scache unix - - y - 1 scache
postlog unix-dgram n - n - 1 postlogd
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
filter unix - n n - 10 pipe
flags=Rq user=filter null_sender=
argv=/var/spool/filter/scripts/filter.sh -f ${sender} -- ${recipient}
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}
main.cf(仅相关部分)
always_bcc = [email protected]
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
/var/spool/filter/scripts/filter.sh
#!/bin/sh
/usr/bin/cat | /var/spool/filter/scripts/mailfilter | /usr/sbin/sendmail -G -i "$@"
exit $?
- 我所有用户的电子邮件地址为“(初始)[电子邮件受保护]“ 格式
- 有一些安全组充当角色,每个安全组在“”中都有电子邮件[电子邮件受保护]“ 格式。
- 基本上,角色电子邮件充当多个用户的别名。
- 我可以使用组/角色而不是用户设置权限(这就是重点)
例如
- 我的用户电子邮件是[电子邮件受保护]
- 我是 ITDepartment 角色的成员 ([电子邮件受保护])
- 我是其他一些角色的成员,但我的主要角色是“IT部门”
- 因为我是这个组/角色的成员,所以我和其他成员一样拥有某些特权。
- 每封邮件发送至[电子邮件受保护]将到达我和其他成员。
到目前为止,一切顺利...但我的老板希望我发送的每封邮件都使用[电子邮件受保护](角色)地址而不是[电子邮件受保护](用户)。即发送的每封邮件都使用主体角色电子邮件,而不是用户电子邮件。
/var/spool/filter/scripts/mailfilter
是一个内部制作的过滤器,它就是这样做的(将“发件人”地址从“(初始).surname@”更改为“role@”,检查 LDAP 服务器)。
它永远不会失败(如果出现任何错误情况,它只是将标准输入复制到标准输出,不会进行任何修改,因此不会更改地址)。
问题是,当我发送电子邮件时,它会发送两份副本到[电子邮件受保护]如日志中所示,不是预期的一份副本。
Dec 16 16:23:08 correo2 postfix/smtpd[32453]: connect from informatica1.mydomain.example[10.128.159.15]
Dec 16 16:23:08 correo2 postfix/smtpd[32453]: DD925380C87: client=informatica1.mydomain.example[10.128.159.15], sasl_method=LOGIN, [email protected]
Dec 16 16:23:08 correo2 postfix/cleanup[32456]: DD925380C87: message-id=<[email protected]>
Dec 16 16:23:09 correo2 postfix/qmgr[32275]: DD925380C87: from=<[email protected]>, size=2749, nrcpt=2 (queue active)
Dec 16 16:23:09 correo2 postfix/pickup[32274]: AAFEF380C8D: uid=110 from=<[email protected]>
Dec 16 16:23:09 correo2 postfix/pipe[32457]: DD925380C87: to=<[email protected]>, relay=filter, delay=0.81, delays=0.11/0/0/0.7, dsn=2.0.0, status=sent (delivered via filter service)
Dec 16 16:23:09 correo2 postfix/pipe[32457]: DD925380C87: to=<[email protected]>, orig_to=<[email protected]>, relay=filter, delay=0.81, delays=0.11/0/0/0.7, dsn=2.0.0, status=sent (delivered via filter service)
Dec 16 16:23:09 correo2 postfix/qmgr[32275]: DD925380C87: removed
Dec 16 16:23:09 correo2 postfix/cleanup[32456]: AAFEF380C8D: message-id=<[email protected]>
Dec 16 16:23:09 correo2 postfix/qmgr[32275]: AAFEF380C8D: from=<[email protected]>, size=2927, nrcpt=3 (queue active)
Dec 16 16:23:10 correo2 dovecot: lda([email protected])<32488><2DSfML3hnGPofgAA0V72BQ>: msgid=<[email protected]>: saved mail to INBOX
Dec 16 16:23:10 correo2 postfix/pipe[32473]: AAFEF380C8D: to=<[email protected]>, relay=dovecot, delay=1.1, delays=0.79/0/0/0.28, dsn=2.0.0, status=sent (delivered via dovecot service)
Dec 16 16:23:10 correo2 dovecot: lda([email protected])<32490><Au2fML3hnGPqfgAA0V72BQ>: msgid=<[email protected]>: saved mail to INBOX
Dec 16 16:23:10 correo2 postfix/pipe[32471]: AAFEF380C8D: to=<[email protected]>, relay=dovecot, delay=1.1, delays=0.79/0/0/0.34, dsn=2.0.0, status=sent (delivered via dovecot service)
Dec 16 16:23:10 correo2 dovecot: lda([email protected])<32489><BE2gML3hnGPpfgAA0V72BQ>: msgid=<[email protected]>: saved mail to INBOX
Dec 16 16:23:10 correo2 postfix/pipe[32470]: AAFEF380C8D: to=<[email protected]>, relay=dovecot, delay=1.1, delays=0.79/0/0/0.35, dsn=2.0.0, status=sent (delivered via dovecot service)
Dec 16 16:23:10 correo2 postfix/qmgr[32275]: AAFEF380C8D: removed
Dec 16 16:23:11 correo2 postfix/smtpd[32453]: disconnect from informatica1.mydomain.example[10.128.159.15] ehlo=1 auth=1 mail=1 rcpt=1 data=1 quit=1 commands=6
uid=110 是“过滤”用户 uid。 “发件人”仅在电子邮件内部的标题中发生更改,因此不会显示在日志中。
除了这个双重交付细节之外,一切都在正常运行。
知道如何修复它吗?