Courier Mail Server Forum Index Courier Mail Server
www.courierms.ru
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

v1| Объединение офисов общим локальным почтовым доменом

 
Post new topic   Reply to topic    Courier Mail Server Forum Index -> Готовые решения
View previous topic :: View next topic  
Author Message
GrAnd
CMS Master
CMS Master


Joined: 21 Oct 2005
Posts: 766
Location: г. Коломна

PostPosted: 20 Jan 2006 17:16 (Fri)    Post subject: v1| Объединение офисов общим локальным почтовым доменом Reply with quote

Объединение офисов общим локальным почтовым доменом.

Иногда приходится сталкиваться с ситуацией, когда 2 или большее количество офисов необходимо объединить общим пространством почтовых адресов, т.е. организовать некий почтовый домен (логическое объединение почтовых пользователей) на физически разделенных объектах.
Если существует реальный домен с прописанными адресами почтовых шлюзов, то данная задача решается тривиально. На головном офисе, на шлюз которого указывает первичная MX-запись, устанавливается CMS, желательно, конечно, 2.x, но можно и 1.56, если предпринять указанные меры по защите от несанкционированного релея. Остальные офисы, обычно использующие Dial-Up подключение используют в качестве SMTP-сервера релей провайдера, а вот в качестве POP3-сервера указанный CMS, на котором заведены аккаунты пользователей всех офисов.
Таким образом, управляет почтовым доменом один головной сервер и, может быть, несколько локальных в удаленных офисах.

Если же ни один из офисов не имеет шлюза с выделенным "белым" IP и домен не зарегистрирован, то приходится для принятия почты подключаться к внешним публичным серверам, либо к почтовым ящикам, находящимся у провайдера.
В этом случае организовать общее доменное пространство имен и прозрачную пересылку между ними не так-то уж и легко. Особенно с применением CMS 1.56 на каждом офисе.
Администрирование такой "одноранговой" почтовой системы весьма трудоемко и требует использование нестандартных подходов, в частности применение промежуточных почтовых ящиков на публичных серверах.

Примем во внимание, что в CMS 1.56 есть специальный аккаунт почтового администратора. Обычно это "postmaster". Назначается он в CMS в свойствах домена. От обычных аккаунтов он отличается тем, что на него приходит некоторая служебная информация. В том числе при обнаружении письма, предназначенного в данный почтовый домен, но пользователю, не зарегистрированному в нем, это письмо будет помещено в почтовый ящик "postmaster". Разумеется, чтобы отделить такую почту от почты, поступающий в данный ящик "по праву", необходимо каким-то образом ее отсортировать, причем легальную почту для "postmaster" направить в некий простой почтовый ящик, откуда она и будет при необходимости забираться.
Так же воспользуемся той особенностью CMS, что при перенаправлении писем (при помощи сортировщика, либо напрямую почтовым клиентом CMS) поле "To:" не подменяется на новый адрес получателя. Это делает возможность поместить письмо в какой-то промежуточный почтовый ящик на публичном сервере, чтобы иметь возможность затем принять его в другом офисе.

Итак, рассмотрим вначале возможность объединения 2-х офисов.

_________________
Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец!
Back to top
View user's profile Send private message
GrAnd
CMS Master
CMS Master


Joined: 21 Oct 2005
Posts: 766
Location: г. Коломна

PostPosted: 20 Jan 2006 17:26 (Fri)    Post subject: Одноранговое объединение 2-х офисов. Reply with quote

Одноранговое объединение 2-х офисов.

При необходимости объединения 2-х офисов (но не большего их числа) в общий почтовый домен при помощи CMS 1.56 нет большой необходимости выделять один из офисов для централизованной обработки почты. Кроме того, такое выделение может только привести к неоправданному увеличению трафика. Поэтому почтовые системы обоих офисов делаем абсолютно равнозначными.
    1. На любом публичном сервере (например на Rambler.ru) создаем почтовый ящик "mycompany12" для пересылки почты из первого офиса во второй и почтовый ящик "mycompany21" для пересылки почты из второго в первый.
    2. На CMS 1-го офиса создаем при необходимости аккаунт "admin", в почтовый ящик которого будут помещаться легальные письма почтмейстеру.
    3. Создаем так же аккаунт "unknown" для направления в него писем пользователям, не зарегистрированных ни в одном офисе.
    4. Создаем правило сортировщика, направляющее письма, содержащее адрес "postmaster@localdomain" в почтовый ящик "admin@localdomain", где "localdomain" следует заменить именем своего почтового домена, как он прописан в CMS. Это правило сортировщика должно проверяться первым и при его выполнении другие правила не обрабатываются.
    5. Создаем правило для сортировщика, проверяющее поле "Received:" на наличие подстроки "for <mycompany21@rambler.ru>". Для других публичных серверов, отличных от Rambler.ru характерная строка может быть другой. По этому правилу проверяется, что письмо уже было направлено один раз из второго офиса в первый, но не нашло адресата. Удовлетворяющая этому правилу корреспонденция должна быть направлена в почтовый ящик "unknown", чтобы избежать зацикливания пересылки для тех адресатов, которые не зарегистрированы ни на одном сервере. Это правило сортировщика должно проверяться следующим и при его выполнении другие правила не обрабатываются.
    6. Указываем неотсортированную почту помещать в "mycompany12@rambler.ru".
    7. Создаем задание на прием писем с сервера 127.0.0.1 (т.е., с самого себя) из п/я postmaster если существует файл "Mail\Mailbox\postmaster\*.msg" и отправку их в сортировщик.
    8. Создаем задание на прием писем с внешнего почтового сервера (для Rambler имеет имя "pop3.rambler.ru") из п/я "mycompany21" и направление в домен.
    9. Указанные в п.п. 2-8 действия повторяем на сервере второго офиса с точностью до симметрии имен внешних п/я в п.п. 5, 6, 8.

Вот, в принципе и все.

Теперь почта, которая предназначена для пользователей этого же домена, но не зарегистрированных на первом сервере, будет помещена в п/я "postmaster". Периодически вся почта из этого п/я будет приниматься и направляться в сортировщик. Сортировщик не сможет ее отсортировать ни по одному из признаков и направит во внешний п/я. Оттуда она будет принята вторым сервером и направлена в домен, т.е. распределена по почтовым ящикам в соответствии с информацией в поле "To:".
Если и на втором сервере такого аккаунта нет, то почта будет направлена снова в п/я "postmaster" но уже вторым сервером. Оттуда она будет принята сортировщиком и отсеяна, как прошедшая внешний п/я, в п/я "unknown", который можно просматривать и чистить вручную или автоматически.
Аналогично будет работать и отсылка из второго офиса в первый.

Возможны незначительные изменения. Например, можно указать в п. 5 имя внешнего ящика не "mycompany21@rambler.ru", а "mycompany12@rambler.ru". В этом случае письмо будет направлено обратно и помещено в п/я "unknown" на отправляющем сервере. Это приведет, правда, к увеличению трафика в 2 раза. Но если используется подключение Dial-Up с повременной оплатой и округлением до целой минуты, то разница будет не такая большая.
Можно применить промежуточный вариант, в котором на внешнем сервере организуются еще 1-2 дополнительных ящика, а на указанных выше промежуточных ящиках включается фильтрация по указанному полю и письма перенаправляются в этот ящик. К этому ящику можно периодически подключаться, просматривать и чистить. К сожалению, при такой пересылке будет произведена подменена адреса получателя. Но фильтрацию все равно включить стоит. Хотя бы для того, чтобы не допускать в этот п/я писем, не содержащих имени локального домена в поле "To:".

Ну а объединение 3-х и большего количества офисов таким образом, IMHO, к сожалению, невозможно. Если делать полностью одноранговую систему, то на каждом сервере нужно заводить сортировку по получателям и разбрасывать по нескольким внешним п/я - по одному внешнему п/я для каждого стороннего офиса. Администрировать такую почтовую систему очень затруднительно.
Как вариант можно рассмотреть централизованную обработку, в которой сбор, сортировка и распределение почты по промежуточным п/я производится одним почтовым сервером в головном офисе. Постараюсь исследовать и описать такую возможность в течение ближайшего времени.

_________________
Все, что началось хорошо, закончится плохо.
Все, что началось плохо, закончится еще хуже.
Если вам кажется, что все идет хорошо, значит вы чего-то не замечаете.
Если все закончилось хорошо, то, значит, это еще не конец!
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Courier Mail Server Forum Index -> Готовые решения All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group