The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"POSTFIX замена Received - подскажите по регулярке"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / Linux)
Изначальное сообщение [ Отслеживать ]

"POSTFIX замена Received - подскажите по регулярке"  +/
Сообщение от Сергейemail (??), 05-Июл-19, 21:40 
Добрый день. Подскажите пожалуйста как нужно составить регулярку и записать в файл etc/postfix/header_checks, чтобы заменял ip отправителя на localhost

Отправляет такой заголовок :

Received: from dbnfv (31-124-93-114.broadband.corbina.ru [37.144.92.133])
    by primer.ru (Postfix) with ESMTPA id BE0FB20C92
    for <ihatesp1@mail.ru>; Fri,  5 Jul 2019 21:26:35 +0300 (EEST)

Нужно чтобы получился такой :

Received: from dbnfv (localhost [37.144.92.133])
    by primer.ru (Postfix) with ESMTPA id BE0FB20C92
    for <primer@mail.ru>; Fri,  5 Jul 2019 21:26:35 +0300 (EEST)

И для примера такой :

Received: by primer.ru (Postfix) with ESMTPA id BE0FB20C92
    for <primer@mail.ru>; Fri,  5 Jul 2019 21:26:35 +0300 (EEST)


Заранее благодарю.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "POSTFIX замена Received - подскажите по регулярке"  +/
Сообщение от Аноним (1), 06-Июл-19, 10:54 
> Добрый день. Подскажите пожалуйста как нужно составить регулярку

Регулярку нужно составить правильно

> и записать в файл etc/postfix/header_checks,

1. vi etc/postfix/header_checks
2. <type your regexp here>
3. <ESC>:wq

> чтобы заменял ip отправителя на localhost

http://www.postfix.org/header_checks.5.html
https://ru.wikibooks.org/wiki/%D0%A0%D0%...
https://regex101.com/

> Заранее благодарю.

Да не за что.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "POSTFIX замена Received - подскажите по регулярке"  +/
Сообщение от Сергейemail (??), 06-Июл-19, 11:19 
>[оверквотинг удален]
>> и записать в файл etc/postfix/header_checks,
> 1. vi etc/postfix/header_checks
> 2. <type your regexp here>
> 3. <ESC>:wq
>> чтобы заменял ip отправителя на localhost
> http://www.postfix.org/header_checks.5.html
> https://ru.wikibooks.org/wiki/%D0%A0%D0%...
> https://regex101.com/
>> Заранее благодарю.
> Да не за что.

Добрый день. Это все понятно , что нужно составить правильно. Я пробовал и у меня не получилось. Если Вам не сложно , покажите как правильно нужно составить - верней готовый вариант.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "POSTFIX замена Received - подскажите по регулярке"  +1 +/
Сообщение от Аноним (1), 06-Июл-19, 11:48 
> Добрый день. Это все понятно , что нужно составить правильно. Я пробовал
> и у меня не получилось.
> как правильно нужно составить - верней готовый вариант.

Ты определись - "научите меня" или "сделайте за меня".
Вообще и то, и то стоит денег, но первый вариант обычно все же располагает к желанию помочь бескорыстно.
Делать за тебя твою работу никому не интересно. Если пробовал - показывай, что делал. Логи, конфиги и т.д. Поищем ошибки. И заодно поясни цель ковыряния в заголовках писем. Что-то там подменять чаще всего означает "подделывать", а спамеров везде охотно бьют ногами...

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "POSTFIX замена Received - подскажите по регулярке"  +/
Сообщение от михалыч (ok), 08-Июл-19, 12:00 
> охотно бьют ногами...

и возможно по лицу

а вдруг это не начинающий спамер?
( какые ваши доказателства?? )

может это просто юный падаван, и это нужно для корпоративной почты

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "POSTFIX замена Received - подскажите по регулярке"  +/
Сообщение от Аноним (6), 08-Июл-19, 12:41 
> может это просто юный падаван, и это нужно для корпоративной почты

судя по подаче ТЗ это не юный подован, а обыкновенный халявщик...

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

5. "POSTFIX замена Received - подскажите по регулярке"  +/
Сообщение от михалыч (ok), 08-Июл-19, 12:07 
получилося так
| perl -pe 's/\(.*(\s\[(\d{1,3}\.){3}\d{1,3}\])/(localhost$1/'

и для примера так
| perl -pe 's/.*\]\)\n/Received:/'
(но тут пробелы остаются после Received: перед by)

если не принципиально, то как-то так

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "POSTFIX замена Received - подскажите по регулярке"  +/
Сообщение от Аноним (6), 08-Июл-19, 12:49 
> получилося так
> /\(.*(\s\[(\d{1,3}\.){3}\d{1,3}\])/

... и эта регулярка ищет не то, что заказал ТС. Ему, грешному, хочется менять только то, что между " (" и " [". Зачем, не понимаю, но ему, несомненно, виднее...

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "POSTFIX замена Received - подскажите по регулярке"  +/
Сообщение от михалыч (ok), 08-Июл-19, 16:09 
>> получилося так
>> /\(.*(\s\[(\d{1,3}\.){3}\d{1,3}\])/
> ... и эта регулярка ищет не то, что заказал ТС. Ему, грешному,
> хочется менять только то, что между " (" и " [".
> Зачем, не понимаю, но ему, несомненно, виднее...

да ладно!

cat temp

Received: from dbnfv (31-124-93-114.broadband.corbina.ru [37.144.92.133])
    by primer.ru (Postfix) with ESMTPA id BE0FB20C92
    for <ihatesp1@mail.ru>; Fri,  5 Jul 2019 21:26:35 +0300 (EEST)

cat temp | perl -pe 's/\(.*(\s\[(\d{1,3}\.){3}\d{1,3}\])/(localhost$1/'


Received: from dbnfv (localhost [37.144.92.133])
    by primer.ru (Postfix) with ESMTPA id BE0FB20C92
    for <ihatesp1@mail.ru>; Fri,  5 Jul 2019 21:26:35 +0300 (EEST)

в linux
echo -en 'Received: from dbnfv (31-124-93-114.broadband.corbina.ru [37.144.92.133])\n    by primer.ru (Postfix) with ESMTPA id BE0FB20C92\n    for <ihatesp1@mail.ru>; Fri,  5 Jul 2019 21:26:35 +0300 (EEST)\n' | perl -pe 's/\(.*(\s\[(\d{1,3}\.){3}\d{1,3}\])/(localhost$1/'


Received: from dbnfv (localhost [37.144.92.133])
    by primer.ru (Postfix) with ESMTPA id BE0FB20C92
    for <ihatesp1@mail.ru>; Fri,  5 Jul 2019 21:26:35 +0300 (EEST)

в freebsd
printf 'Received: from dbnfv (31-124-93-114.broadband.corbina.ru [37.144.92.133])\n    by primer.ru (Postfix) with ESMTPA id BE0FB20C92\n    for <ihatesp1@mail.ru>; Fri,  5 Jul 2019 21:26:35 +0300 (EEST)\n' | perl -pe 's/\(.*(\s\[(\d{1,3}\.){3}\d{1,3}\])/(localhost$1/'


Received: from dbnfv (localhost [37.144.92.133])
    by primer.ru (Postfix) with ESMTPA id BE0FB20C92
    for <ihatesp1@mail.ru>; Fri,  5 Jul 2019 21:26:35 +0300 (EEST)

вроде работает
ах да, нужно же было обеспечить запись в файл!
cat temp | perl -pe 's/\(.*(\s\[(\d{1,3}\.){3}\d{1,3}\])/(localhost$1/' > /etc/postfix/header_checks
(это для юного s/падавана/спамера/)
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "POSTFIX замена Received - подскажите по регулярке"  +/
Сообщение от Аноним (1), 08-Июл-19, 19:21 
> да ладно!

Аноним дело говорит...

> cat temp | perl -pe 's/\(.*(\s\[(\d{1,3}\.){3}\d{1,3}\])/(localhost$1/'

 

Во-первых, переусложнил. Надо просто найти то, что начинается с "пробел+круглая скобка открывается" и заканчивается на "пробел+квадратная скобка открывается". Нафига ты городишь поиск цифирь - непонятно. Все это ищется гораздо проще, пруфа не будет, чтобы не искушать юного ворована.
Во-вторых, переусложнил. Стоимость регекспа выросла из-за группировок, ворочать его стало вдвое тяжелее, плюс есть ошибки. Пруфа опять же не будет, пускай юный халяван сам ищет.
В-третьих, опять! переусложнил. Постфикс твои выкрутасы с группировками по-моему, просто не переварит, там хоть и PCRE заявлено, но все ж таки не в полном объеме, и регулярка должна быть проще, да и на нагруженном хосте ворочать сложный трехступенчатый перл-мат весьма накладно будет... хотя у поддована скорее всего локалхост на 10 юзеров...

> ах да, нужно же было обеспечить запись в файл!
> cat temp | perl -pe 's/\(.*(\s\[(\d{1,3}\.){3}\d{1,3}\])/(localhost$1/' > /etc/postfix/header_checks
> (это для юного s/падавана/спамера/)

А это вообще сломает постфикс юному плутовану...


Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "POSTFIX замена Received - подскажите по регулярке"  +/
Сообщение от Аноним (6), 09-Июл-19, 13:47 
>> да ладно!
> Аноним дело говорит...
>> cat temp | perl -pe 's/\(.*(\s\[(\d{1,3}\.){3}\d{1,3}\])/(localhost$1/'
> Во-первых, переусложнил. Надо просто найти то, что начинается с "пробел+круглая скобка

Юный павиан путается в показаниях - то ему надо "чтобы заменял ip отправителя на localhost", то хочет  Received: from dbnfv (31-124-93-114.broadband.corbina.ru [37.144.92.133]) превратить в Received: from dbnfv (localhost [37.144.92.133])

Фиг знает, что ему на самом деле надо, поэтому оба вы неправы :)))

>> cat temp | perl -pe 's/\(.*(\s\[(\d{1,3}\.){3}\d{1,3}\])/(localhost$1/' > /etc/postfix/header_checks
> А это вообще сломает постфикс юному плутовану...

Это - да.


Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "POSTFIX замена Received - подскажите по регулярке"  +/
Сообщение от михалыч (ok), 09-Июл-19, 14:48 
Господа Анонимы, вы правы!
(спасибо, что ткнули носом ))

| perl -pe 's/\(.*\s\[/(localhost [/'

(это, надеюсь, не сломает мозг ))

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру