The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Регулярка для замены части строки в заголовке сообщения, !*! rafaello, 22-Окт-16, 17:10  [смотреть все]
Здравствуйте!
Необходимо заменить часть строки в заголовке сообщения postfix.
Не хватает знаний в регулярных выражениях, прошу помощи!
Надо заголовок:
Received: from mysite.ru (snd1.mysite.ru [95.ххх.224.235])
    by snd1.mysite.ru (Postfix) with ESMTP id CCF64C02B4
    for <putevka.xxxxxxx@yandex.ru>; Sat, 22 Oct 2016 15:16:02 +0300 (MSK)

заменить на:
Received: by mx.mysite.ru (Postfix, from userid 0)
    id 9095FC0240; Sat, 22 Oct 2016 14:56:23 +0300 (MSK)

Причем, в заменяемом заголовке могут быть как domain.com, так и sub.domain.com
Также, некоторые почтовые провайдеры (гугл например) пишут строку без переносов, вот так:
Received: from mysite.ru (snd1.mysite.ru [95.ххх.224.235]) by snd1.mysite.ru (Postfix) with ESMTP id CCF64C02B4 for <putevka.xxxxxxx@yandex.ru>; Sat, 22 Oct 2016 15:16:02 +0300 (MSK)

В итоге, необходимо просто удалить из строки следующие слова:
from mysite.ru (snd1.mysite.ru [95.ххх.224.235])
with ESMTP
for <putevka.xxxxxxx@yandex.ru>
Пожалуйста помогите составить регулярное выражение для файла regexp:/etc/postfix/header_checks
ххххх REPLACE ххххх

для наглядности выделил жирным то, что надо удалить:

Received: from mysite.ru (snd1.mysite.ru [95.ххх.224.235])
    by snd1.mysite.ru (Postfix) with ESMTP id CCF64C02B4
    for <putevka.xxxxxxx@yandex.ru>; Sat, 22 Oct 2016 15:16:02 +0300 (MSK)

  • Регулярка для замены части строки в заголовке сообщения, !*! Pahanivo, 19:25 , 22-Окт-16 (1) +1
    • Регулярка для замены части строки в заголовке сообщения, !*! rafaello, 21:31 , 22-Окт-16 (2) –2
      > зачем?!

      Основная головная боль последние две недели - это часть писем идет в папку спам на gmail.com.
      Первая прога для отправки писем сидит на одном из экземпляре постфикс-мульти и коннектится к нему через smtp-авторизацию (без логина и пароля) через сокет @fsockopen();
      Есть другая небольшая прога для отправки писем, которая сидит на основном экземпляре постфикс (/usr/sbin/sendmail) по умолчанию.
      Я сделал список из 10 мыл на gmail.com и тестировал два варианта отправки.
      Первый вариант отсылает 60% в папку спам, а вторая прога, которая шлет по умолчанию - все 100% во входящие.
      Причем, для обоих случаев совершенно определенно правильно настроены все Return-Path, PTR, DKIM=pass, SPF=pass, DMARC=pass. Домен в "From", "Reply-To" и "smtp.mailfrom" один и тот же.
      Чтобы детально разобраться в этом вопросе я написал обычную функцию mail(); и скурпулезно, буквально по каждой закорючке прописал там заголовки, абсолютно один в один похожие, как формирует Первая прога.
      И чтобы вы думали... Функция mail() шлет 100% во входящие, а Первая 50% в спам.
      И как раз различия в заголовках заключается в теме моего топика.
      Таким макаром, методом тыка я пришел к выводу, что гоше не нравится лишний "Received: from ....", то есть если почта идет напрямую, то он кидает во входящие, а если есть лишние пересылки - то уж извините...
      Хочу попробовать применить header_checks = regexp:/etc/postfix/header_checks чтобы окончательно идентифицировать заголовки в обоих вариантах и посмотреть результат этого.





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

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