The OpenNET Project / Index page

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

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

"Раздел полезных советов: Дублирование доставки почты в Postf..."  
Сообщение от auto_tips (??) on 16-Сен-05, 10:59 
Есть Postfix + авторизация пользователей в mysql. Так вот появилась необходимость почту,
приходящую на какой-нить адрес ещё пересылать кому-угодно. Т.е. не форвардить письмо,
а именно копию отсылать на нужный адрес. Притом хочется чтобы всё было красиво и понятно.

Решение:

Postfix ищет virtual_maps в базе mysql
   virtual_maps=hash:/etc/postfix/virtual_maps.cf

virtual_maps.cf содержит запрос который по адресу email выдает alias.  
Что-то типа такого:

   user = postfix
   password = postfix
   dbname = mail
   table = alias
   select_field = goto
   where_field = address
   hosts = 127.0.0.1

На goto идет почта, которая предназначается для address. Т.е. на один физический maildir
(или другой конечный пункт) собирается почта от разных алиасов.
Проблема в том что при такой конфигурации не сделать так чтобы почта для user@domain.com
шла и на alias1@domain.com и на alias2@domain2.com

После анализа того, как механизм Postfix читает возврат от mysql получаем:

Нужно чтобы почта для локального юзера user@domain.com приходила на user@domain.com + на mail@domain2.com
и + ещё куда нить :) При этом везде должна лежать копия.

Обычно таблица alias содержит вот что:

   address goto
   email1   email2
   email3   email2
   ...
   email5   email_other

Надо сделать так.

   address   goto
   email     other_email1,other_email2,...

Т.е. через запятую без пробелом указываем все те адреса куда надо послать копию письма.
hash:/mysql примет строку и КОРРЕКТНО подставит её куда надо, а сам Postfix нормально
всё выставит в очередь сообщений и отправит. Там же указываем адрес локальной доставки.
И всё :) Никаких скиптов, procmail и прочей бурды.

Теперь представьте гибкость и легкость с такими вещами как redirect, forwarding, copy + mysql.

URL:
Обсуждается: http://www.opennet.me/tips/info/893.shtml

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

 Оглавление

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

1. "Дублирование доставки почты в Postfix c авторизацией в mysql"  
Сообщение от HFSC email(??) on 16-Сен-05, 10:59 
Вот это новость :). Еще лучше поставить себе postfixadmin...
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Дублирование доставки почты в Postfix c авторизацией в mysql"  
Сообщение от triz0r on 16-Сен-05, 12:35 
Если не понял зачём это нужно - так не надо сразу корчить из себя гуру
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Дублирование доставки почты в Postfix c авторизацией в mysql"  
Сообщение от HFSC email(??) on 16-Сен-05, 14:06 
гуру никто не корчит - просто ктото в очередной раз изобрел велосипед
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Дублирование доставки почты в Postfix c авторизацией в mysql"  
Сообщение от Аноним on 16-Сен-05, 16:54 
>гуру никто не корчит - просто ктото в очередной раз изобрел велосипед

Я например тоже не думал, что в таблицах мапинга множественные записи нужно указывать через запятую, а не просто создавать разные пары записей.
Для SQL хранилища это непрозрачно, сразу не допираешь, что это полный аналог файлов.


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

5. "Дублирование доставки почты в Postfix c авторизацией в mysql"  
Сообщение от triz0r on 19-Сен-05, 10:40 
главное  что работает :)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Дублирование доставки почты в Postfix c авторизацией в mysql"  
Сообщение от Dmitriy.Donchenko email on 22-Сен-05, 00:49 
Собственно, а почему для "зачем это нужно" не использовать sender_bcc_maps и recipient_bcc_maps?

Очень как мне кажется удобно и не нужно ничего изобретать.

cat main.cf
recipient_bcc_maps = hash:/usr/local/etc/postfix/recipient_bcc_map
sender_bcc_maps = hash:/usr/local/etc/postfix/sender_bcc_map

cat sender_bcc_map
user@mail.com       wherecopy@mail.com

Если я правильно понял, автор просто хотел настроить механизм "архивирования" почты?

Использование данного варианта в плохих целях не гуманно и все такое прочее.

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

7. "Дублирование доставки почты в Postfix c авторизацией в mysql"  
Сообщение от triz0r on 23-Сен-05, 12:02 
Всё через mysql и только через ОДНУ таблицу!!!
Если всё на mysql - не хочется перегружать конфигурацию hash справочниками + postmap можно забыть :)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Дублирование доставки почты в Postfix c авторизацией в mysql"  
Сообщение от Vas (??) on 19-Янв-06, 16:54 
Как при использовании sender_bcc_maps сделать так, чтобы письма копировались не в один ящик, а в несколько?  
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Дублирование доставки почты в Postfix c авторизацией в mysql"  
Сообщение от ali (??) on 05-Мрт-06, 12:27 
> Я например тоже не думал, что в таблицах мапинга множественные записи нужно указывать через запятую, а не просто создавать разные пары записей.
> Для SQL хранилища это непрозрачно, сразу не допираешь, что это полный аналог файлов.

А мануалы слабо почитать?
Однозначно велосипед!

Кроме того, если в запросе SELECT под описание попадает несколько записей, все они вернутся postfix'у через запятую. Так что заносить в базу через запятую в одной строке вовсе не обязательно. Все адреса, куда надо скопировать, можно заносить в базу отдельными записями, но с одинаковым исходным адресом (с которого будет рассылаться копия во все остальные ящики).

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

10. "Дублирование доставки почты в Postfix c авторизацией в mysql"  
Сообщение от Sergey email(??) on 29-Май-06, 11:29 
>А мануалы слабо почитать?
>Однозначно велосипед!
Мануалы к чему, к postfix, MySQL, просто про синтаксис SQL запросов?
простой поиск по forward в доках идущих с postfix ничего толкового по теме не дает..
а так статья как мелкая хавтушка на тему форвардинга (для редиректа достаточно неуказывать адрес локального юзера, все уйдет по адресам указанным в поле 'goto') приходящей почты вполне нормальная.
>Кроме того, если в запросе SELECT под описание попадает несколько записей, все они вернутся >postfix'у через запятую. Так что заносить в базу через запятую в одной строке вовсе не >обязательно.
угу, возможно, только внести в базу их затруднительно
>Все адреса, куда надо скопировать, можно заносить в базу отдельными записями, >но с >одинаковым исходным адресом (с которого будет рассылаться копия во все остальные >ящики).
Интересно ты пробовал сделать это? У меня почему-то мускуль первую запись вида alias=user@domain rcpt=user1@domain1 проглатывает нормально, а уже на вторую alias=user@domain rcpt=user2@domain2 материться duplicate entry 'alias=user@domain rcpt=user1=domain1' for key.. что собственно неудивительно, когда поле алиас является первичным ключем, поле rcpt им делать неполучится.. так что решение использовать записи типа  alias=user@domain rcpt=user1@domain1, user2@domain2, user3@domain3 является вполне нормальным и похоже единственно правильным..
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Дублирование доставки почты в Postfix c авторизацией в mysql"  
Сообщение от Sergey email(??) on 29-Май-06, 13:44 
>Как при использовании sender_bcc_maps сделать так, чтобы письма копировались не в один
>ящик, а в несколько?
согластно документации постфикс - никак, поддерживается один адрес, но ведь всегда эот понятие можно расширить :-) есть мысль отправлять на виртуальный ящик на сервере, который прописать в таблмце алиасов (собственного Maildir у него может и не быть, если в поле получателей не указывать пользователя с сервера). Т.е. в sender_bcc_maps прописать адрес bcc_user@localdomain, а в таблице алиасов alias=bcc_user@localdomain, rcpt=addr1, addr2, addr3. Впрочем если указать еще до кучи и bcc_user@localdomain - исходящая почта будет просто приходить еще и на этот адрес.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "Дублирование доставки почты в Postfix c авторизацией в mysql"  
Сообщение от Sergey email(??) on 29-Май-06, 13:55 
>Всё через mysql и только через ОДНУ таблицу!!!
>Если всё на mysql - не хочется перегружать конфигурацию hash справочниками +
>postmap можно забыть :)
про приходящую почту понятно, но как быть если нужно сопировать исходящую? если использовать переменную sender_bcc_map, то эту самую мапу нужно где-то описывать.. и как-то мне в голову не приходит ничего, как совместить virtual_alias_map и sender_bcc_map в одной таблице, похоже придется заводить отдельную.. если придумаешь - напиши :-)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

14. "Дублирование доставки почты в Postfix c авторизацией в mysql"  
Сообщение от AndreySerov email on 16-Ноя-06, 16:01 
если у вас присутствует в main.cf virtual_mailbox_maps
virtual_maps
то тойже таблице alias необходимо к тем ящикам на которые копировать почту добавить самого владельца ящика иначе будет просто форвардить. Получается форвардить и самому владельцу. Зацикливания нет. Проверено
может поможет кому)
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору


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

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




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

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