Назад | Перейти на главную страницу

Удалить пользователей из заголовка "Получено"

При отправке почты через PHP mail () - Postfix добавляет следующий заголовок:

Received: by myhost.mydomain.com (Postfix, from userid 48)
    id XXXXXXXXXXX; Sun, 20 Nov 2011 21:22:13 +0100 (CET)

Есть ли способ удалить часть идентификатора пользователя, но оставить остальное? Таким образом, результат будет (если правильный):

Received: by myhost.mydomain.com (Postfix)
    id XXXXXXXXXXX; Sun, 20 Nov 2011 21:22:13 +0100 (CET)

Postfix работает на локальном хосте и используется только для отправки почты из PHP через функцию mail ().

Типичный вопрос об удалении всего заголовка спрашивали раньше, но я не могу понять, как удалить часть идентификатора пользователя, но оставьте остальное.

Ни в коем случае нельзя редактировать полученные строки.

В основном они требуются RFC 5321, и ими нельзя манипулировать. Во-вторых, они являются ценным источником для отслеживания злоупотреблений.

Предположим, вы отправляете почту с PHP только через Apache (идентификатор пользователя 48), что он сообщает вам, если вы видите сообщения, поступающие от идентификатора пользователя 5000? Вы правы: злоумышленник или скрипт сходит с ума. Можете ли вы отследить эту проблему с удаленным идентификатором пользователя?

Я думаю, вы можете попробовать что-то вроде:

/etc/postfix/main.cf

header_checks = pcre:/etc/postfix/header_checks.pcre

/etc/postfix/header_checks.pcre

/^Received: by(.*) \(Postfix, from userid(.*)$/ REPLACE Received: by ${1}

Теперь вы можете изменить только первую строку. Мое решение с регулярным выражением

/etc/postfix/main.cf

header_checks = regexp:/etc/postfix/header_checks

/ и т.д. / постфикс / header_checks

/^Received: by (.*) .*Postfix, from userid [0-9]+\)\s*id ([A-F[:digit:]]+)(.*) (.*)/ REPLACE Received: by $1 (some text) id $2$3 (EEST)

Вы можете проверить результат (http://rubular.com/r/JH14xFTWL9)

или

postmap -q "Received: by mail.xxxx.lt (Postfix, from userid 48) id 5F7CD1E148A Thu, 23 Oct 2014 15:55:08 +0300 (EEST)" regexp:/etc/postfix/header_checks