Я храню и пересылаю (в приложения Google) электронные письма, используя следующий рецепт procmail:
# 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, оно возвращает электронное письмо системе пересылки, а не исходному отправителю.
Вероятно, это связано с тем, что система пересылки добавляет или заменяет строку обратного пути и помещает туда локальное имя пользователя и имя сервера.
Таким образом, у меня вопрос, как я могу предотвратить это?
Пытаться
# Forward the email
:0
* ^Return-Path:[ ]*\/[^ ].+
{ env=$MATCH }
:0
! ${env+-f "$env"} ${LOCALPART}@apps.domain.nl
Как это принято в рецептах Procmail, пробел внутри квадратных скобок должен состоять из пробела и табуляции (оба места, где сопоставляется заголовок Return-Path. Я не мог писать буквальные табуляции с мобильного устройства, на котором я печатаю) .