我正在使用以下 procmail 配方存储和转发电子邮件(到 google apps):
# set vars
USERNAME=local_username
LOCALPART=realemaillocalpart
:0
# Avoid email loops
* ! ^X-Loop: ${USERNAME}@domain\.nl
{
:0c: #Preserve a copy of the email
${DEFAULT}
:0fwh #Adjust some headers before forwarding
| formail -A"X-Loop: ${USERNAME}@domain.nl" \
# Forward the email
:0
!${LOCALPART}@apps.domain.nl
}
这可行,但是当我在 Gmail 中设置“外出”消息时,它会将电子邮件返回到转发系统而不是原始发件人。
这可能与转发系统添加或替换返回路径行并在其中放置本地用户名和服务器名称有关。
我的问题是,我该如何防止这种情况发生?
答案1
尝试
# Forward the email
:0
* ^Return-Path:[ ]*\/[^ ].+
{ env=$MATCH }
:0
! ${env+-f "$env"} ${LOCALPART}@apps.domain.nl
按照 Procmail 配方中的惯例,方括号内的空白应由一个空格和一个制表符组成(这两个地方都与 Return-Path 标头匹配。我无法从我正在输入的移动设备上写出文字制表符)。