The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"qmail, отправка почты на другой MX"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"qmail, отправка почты на другой MX"  
Сообщение от JEK email on 24-Окт-07, 10:48 
Подскажите плз как лучше реализовать - всю голову уже сломал...

Нужно чтобы почта, являющаяся локальной на сервере, при этом проверялась на условие прохождения через определённый хоп (mx сервер), либо на наличие заголовка вида X-SpamTest, и если ничего такого в письме нет - отправлялась на mx1.domain.ru. Если же всё в наличии - складывалась в локальные почтовые ящики. При этом такая проверка необходима только для некоторых доменов почтового сервера.

Пробовал через procmail делать - не выходит почему-то. Условия проверки отрабатываются, а sendmail/qmail-remote, запущенный через procmail письма не отсылают.

Через что и как хотябы примерно это можно сделать?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

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


1. "qmail, отправка почты на другой MX"  
Сообщение от aljil (??) on 24-Окт-07, 16:01 
>Через что и как хотябы примерно это можно сделать?

Как один из множества вариантов (MTA=sendmail):
1) перехватить локальную почту через запуск некоего скрипта (в aliases)
   Скрипт просто сохраняет письмо в некоторый временный файл (stdin -> tempfile)
2) второй некий скрипт чекает наскирдованные файлы писем на предмет чего надо (хедеры, тело и т.д.), запускать хоть по крону.
3) этот же скрипт отправляет письмо куды надо. Если типа не прошло чек - подсунуть МТА, покоцав хедеры (например, To: . Хотя если используется ЭЦП или какая-то суперпроверка хедеров дальше, то могут быть грабли). Если прошло чек и надо таки доставить локально - просто дописать в хвост соотв. мбокса в /var/mail ( tempfile ->> /var/mail/userbox).
Тоесть некий локал-мейл-фильтр by /dev/hands.
Как второй из множества вариантов - использовать какой-нибудь готовый почтовый фильтр к своему MTA. Какой конкретно - аллах его знает, навскидку для sendmail вроде такое можно замутить с помощью sentinel (http://smfilter.sourceforge.net). Но сам не пробовал.
Так что удачи! ;-)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "qmail, отправка почты на другой MX"  
Сообщение от ShyLion (ok) on 25-Окт-07, 20:29 
>Через что и как хотябы примерно это можно сделать?

Я у себя ставил кумыл с патчем QMAILQUEUE, в качестве обработчика очереди повешал перловый скрипт, который письмо засасывает, анализирует, делает все мыслимые проверки и т.п. и дальше либо скармливает qmail-queue, либо qmail-inject.

qmail-remote и qmail-local, это bз другой немного оперы.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "qmail, отправка почты на другой MX"  
Сообщение от unlo email on 26-Окт-07, 12:31 
Всем спасибо, дабил-таки свой путь:

SHELL=/usr/local/bin/bash    
HOME=/usr/local/psa/qmail/mailnames/domen.ru/user
LOGFILE=$HOME/.procmaillog
LOGABSTRACT=no
VERBOSE=on
FORMAIL=/usr/local/bin/formail
From=`formail -xFrom:`
To=`formail -xTo:`
QMAIL=/usr/local/psa/qmail/bin/qmail-remote.popuser
#From=`formail -xFrom:`
#SENDMAIL=/usr/libexec/sendmail/sendmail

MAILDIR=$HOME/Maildir
:0
* ^X-SpamTest-Version.*KAS30/Release
./

:0
| /usr/local/bin/formail -I 'Delivered-To' | $QMAIL mx.domain.ru $From $To

---------------------------
Тоесть: If есть заголовок - сразу в локальную папку, if not - посылаем дальше на mx.
Что не получалось до этого - письмо имело поле Delivered-To и есстественно далее не обрабатывалось. + не указал путь к башу - неправильно отрабатывалась строчка действия.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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