Добрый день. Подскажите пожалуйста как нужно составить регулярку и записать в файл 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)
Заранее благодарю.
> Добрый день. Подскажите пожалуйста как нужно составить регуляркуРегулярку нужно составить правильно
> и записать в файл 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/> Заранее благодарю.
Да не за что.
>[оверквотинг удален]
>> и записать в файл 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/
>> Заранее благодарю.
> Да не за что.Добрый день. Это все понятно , что нужно составить правильно. Я пробовал и у меня не получилось. Если Вам не сложно , покажите как правильно нужно составить - верней готовый вариант.
> Добрый день. Это все понятно , что нужно составить правильно. Я пробовал
> и у меня не получилось.
> как правильно нужно составить - верней готовый вариант.Ты определись - "научите меня" или "сделайте за меня".
Вообще и то, и то стоит денег, но первый вариант обычно все же располагает к желанию помочь бескорыстно.
Делать за тебя твою работу никому не интересно. Если пробовал - показывай, что делал. Логи, конфиги и т.д. Поищем ошибки. И заодно поясни цель ковыряния в заголовках писем. Что-то там подменять чаще всего означает "подделывать", а спамеров везде охотно бьют ногами...
> охотно бьют ногами...и возможно по лицу
а вдруг это не начинающий спамер?
( какые ваши доказателства?? )может это просто юный падаван, и это нужно для корпоративной почты
> может это просто юный падаван, и это нужно для корпоративной почтысудя по подаче ТЗ это не юный подован, а обыкновенный халявщик...
получилося так
| perl -pe 's/\(.*(\s\[(\d{1,3}\.){3}\d{1,3}\])/(localhost$1/'и для примера так
| perl -pe 's/.*\]\)\n/Received:/'
(но тут пробелы остаются после Received: перед by)если не принципиально, то как-то так
> получилося так
> /\(.*(\s\[(\d{1,3}\.){3}\d{1,3}\])/... и эта регулярка ищет не то, что заказал ТС. Ему, грешному, хочется менять только то, что между " (" и " [". Зачем, не понимаю, но ему, несомненно, виднее...
>> получилося так
>> /\(.*(\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/падавана/спамера/)
> да ладно!Аноним дело говорит...
> 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/падавана/спамера/)А это вообще сломает постфикс юному плутовану...
>> да ладно!
> Аноним дело говорит...
>> 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
> А это вообще сломает постфикс юному плутовану...Это - да.
Господа Анонимы, вы правы!
(спасибо, что ткнули носом ))| perl -pe 's/\(.*\s\[/(localhost [/'
(это, надеюсь, не сломает мозг ))