Настройка sendmail для локальной сети

Аватар пользователя kot_as_kot

Здравствуйте, форумчане!
проинструктируйте пожалуста, как решить следующие задачи:

ИСХОДНЫЕ ДАННЫЕ:

есть домашняя локальная сеть с выдуманным нечестным доменом homenetwork и несколькими ПК-машинами.
домашняя сеть выходит в интернет при помощи CDMA диалап по требованию (diald & ppp) через сервер сетевых служб server.homenetwork (samba, ftp, NAT, ntpd, router)
есть акаунт homenet@pochta.ru с поддержкой SMTP & IMAP. оба протокола требуют аутентификации.
в аккаунте содержатся папки с именами пользователей локальной сети. pochta.ru автоматически сортирует приходящие письма по адресатам в нужные папки.
сейчас пользовательские почтовые программы настроены напрямую для работы с pochta.ru

ЗАДАЧИ:

1. как настроить sendmail на server, чтобы пользователи могли настраивать почтовые программы на ПК для работы не напрямую с pochta.ru, а для работы с server. при этом server должен сам логиниться и забирать почту с pochta.ru, содержимое разных папок раздавать соответствующим пользователям.

2. server должен самостоятельно логиниться на pochta.ru и отсылать почту. при отсылке почты все адреса отправителя должны быть заменены на homenet@pochta.ru. в поле от кого должны подставляться нужные имена пользователей (чтобы при ответе на эти сообщения письма рассортировывались автоматически по папкам). т.е. например в пользовательской программе стоит отправитель "Пользователь 1" polsovatel.1@mamamia.sumasojti.ua, а semdmail правит на "Вася" homenet@pochta.ru.

3. sеndmail должен заменять в заголовке все неправильные доменные имена на существующие в реальности, например pochta.ru. Это нужно, чтобы, к примеру, можно было отсылать СМС по почте.

заранее благодарю

Аватар пользователя sergeil

Re: настройка sendmail для локальной сети

kot_as_kot писал(а):
1. как настроить sendmail на server, чтобы пользователи могли настраивать почтовые программы на ПК для работы не напрямую с pochta.ru, а для работы с server. при этом server должен сам логиниться и забирать почту с pochta.ru, содержимое разных папок раздавать соответствующим пользователям.

sendmail не забирает почту... Он ее только отправляет. Забрать почту можно fetchmail, а разложить на пользователей - procmail

Цитата:
2. server должен самостоятельно логиниться на pochta.ru и отсылать почту. при отсылке почты все адреса отправителя должны быть заменены на homenet@pochta.ru.

1. sendmail (MTA) может подменить доменное имя, но не трогает имя пользователя... Если у Вас нет собственного домена, то есть риск промахнуться и нарваться на конфликт (несанкционированное использование доменного имени).
2. Вы должны настроить свой MTA отсылать почту на SMART_HOST, то есть, почтовый сервер, который будет рассылать Вашу почту. По умолчанию MTA рассылает ее сам ...
3. Пока не готов ответить может ли sendmail авторизоваться через login/password на SMART_HOST

Цитата:
в поле от кого должны подставляться нужные имена пользователей (чтобы при ответе на эти сообщения письма рассортировывались автоматически по папкам). т.е. например в пользовательской программе стоит отправитель "Пользователь 1" polsovatel.1@mamamia.sumasojti.ua, а semdmail правит на "Вася" homenet@pochta.ru.

Если Все пользователи на своих OutLook-ах зарегистрируют один и тот-же адрес, но пропишут свое имя, получится тот-же эффект. Но тогда внутренняя почта работать не будет. Если каждый пропишет свое, то внутренняя почта работать будет, но выброс нелегальных почтовых адресов в публичный интернет гарантирован... Мой Вам совет - зарегистрируйте доменное имя ...

Аватар пользователя woodoo

Re: настройка sendmail для локальной сети

В дополнение.

kot_as_kot писал(а):
ИСХОДНЫЕ ДАННЫЕ:
есть домашняя локальная сеть с выдуманным нечестным доменом homenetwork и несколькими ПК-машинами.

Почему "нечестный"? ;)
Если поднять зоны dns (прямую и обртаную) - он станет вполне "честным" - в пределах действия этих зон. Точнее можно сказать, если будет понятно - это адреса в вашей сети или, например, в сети провайдера. Или - вообще группа реальных ip.

Цитата:
домашняя сеть выходит в интернет при помощи CDMA диалап по требованию (diald & ppp) через сервер сетевых служб server.homenetwork (samba, ftp, NAT, ntpd, router)

Сразу замечу, что все перечисленное не относится к работе sendmail. Впрочем, только уточняет общую картину. Есть один потенциальный недостаток - на собственном опыте убедился, что использование домена 1-го уровня - непрактично, но возможно.

Цитата:
есть акаунт homenet@pochta.ru с поддержкой SMTP & IMAP. оба протокола требуют аутентификации.
в аккаунте содержатся папки с именами пользователей локальной сети. pochta.ru автоматически сортирует приходящие письма по адресатам в нужные папки.
сейчас пользовательские почтовые программы настроены напрямую для работы с pochta.ru

Предлагаю пока отложить обсуждение этого пункта. Не уверен, что fetchmail (сборщик почты) умеет "вынимать" из подкаталогов IMAP. Опять же организация "удаленного хранилища" не относится напрямую к mta.

Цитата:
1. как настроить sendmail на server, чтобы пользователи могли настраивать почтовые программы на ПК для работы не напрямую с pochta.ru, а для работы с server.

Есть несколько требований:
1. Почтовый сервер должен представляться именем домена или хоста домена одного из сетевых интерфейсов.
2. Желательно - внешнего.
3. Внешний интерфейс должен ресольвиться во "внешнем" dns в любое fqdn по PTR-записи. Если ресольва нет - придется использовать smtp провайдера в качестве smarthost (дополнительного промежуточного сервера).

Цитата:
при этом server должен сам логиниться и забирать почту с pochta.ru, содержимое разных папок раздавать соответствующим пользователям.

Как уже сказал Сергей - "забиранием" mta не занимается. Он умеет получать, передавать дальше или доставлять локальным пользователям. Почту забирает другой "элемент" сервера - сборщик почты fetchmail и отдает mta (smtp-серверу), адресуя любому пользователю - например, локальному.

Цитата:
2. server должен самостоятельно логиниться на pochta.ru и отсылать почту. при отсылке почты все адреса отправителя должны быть заменены на homenet@pochta.ru. в поле от кого должны подставляться нужные имена пользователей (чтобы при ответе на эти сообщения письма рассортировывались автоматически по папкам). т.е. например в пользовательской программе стоит отправитель "Пользователь 1" polsovatel.1@mamamia.sumasojti.ua, а semdmail правит на "Вася" homenet@pochta.ru.

Цитата:
3. sеndmail должен заменять в заголовке все неправильные доменные имена на существующие в реальности, например pochta.ru. Это нужно, чтобы, к примеру, можно было отсылать СМС по почте.

Что умеет mta в почтовом адресе отправителя:
1. Маскировать домены. Т.е. заменить vasya@home на vasya@work.ru
2. Маскировать пользователя. vasya@home на pupkin@work.ru
Здесь может всплыть недостаток "домена 1-го уровня" (см.выше).
Еще одна особенность - привязываясь к маскированию - mta начинает считать домен, участвующий в маскировке "локальным" доменом. Т.е. маскируя vasya@home в pupkin@mail.ru, я обязан назначить mail.ru локальным доменом и "мой" mta будет считать всех пользователей mail.ru - локальными. Навскидку - это обернется тем, что почта, адресуемая из вашей сети на ваш(и) же ящик(и) не уйдет дальше вашего mta.
Имя пользователя - в штатном порядке не умеет. Любое рукотворное изменение заголовков/тела письма - либо в самом mua (почтовой программе пользователя), либо самостоятельным написанием специального фильтра для sendmail.
Возможно, имеет смысл пересмотреть принцип "удаленного хранилища". Есть варианты.

Аватар пользователя wildsin

Re: настройка sendmail для локальной сети

краткое резюме после прочтения всего треда...

kot_as_kot писал(а):
Здравствуйте, форумчане!
проинструктируйте пожалуста, как решить следующие задачи:

ИСХОДНЫЕ ДАННЫЕ:

есть домашняя локальная сеть с выдуманным нечестным доменом homenetwork и несколькими ПК-машинами.
домашняя сеть выходит в интернет при помощи CDMA диалап по требованию (diald & ppp)

с моей точки зрения нужно:
1. локальный домен из homenetwork переобозвать например в homenetwork.local, что-бы уйти от первого уровня
2. у своего провайдера CDMA зарегить ЧЕСТНЫЙ домен например pupkin.welton.ua (пример опирается на украинского оператора CDMA welton)
3. у того же провайдера зарегить ОДИН почтовый аккаунт например vasya@pupkin.welton.ua
4. у провайдера же заказать складывание всей доменной почты pupkin.welton.ua в провайдерский ящик vasya
5. настроить sendmail на использование честного домена pupkin.welton.ua для локальных пользователей
6. создать некоторое количество локальных пользователей с произвольными именами
7. настроить sendmail на отправку почты через SMTP-сервер своего провайдера (smarthost)
8. настроить fetchmail на забор почты с mail-сервера провайдера по протоколу POP3 скриптом с разбросом почты в локальные ящики

все... телемаркет...
схема даже в более сложной форме реализована на практике в одной донецкой фирмочке и с успехом работает с февраля этого года...
один недостаток... при реализации данной схемы вся почта для СУЩЕСТВУЮЩИХ пользователей складывается в их майлбоксы, а вся остальная доставляется руту/постмастеру, то есть отправитель, отправивший почту существующему пользователю, но ошибшийся в одном символе имени, никогда не получит уведомления об ошибке, а пользователь также никогда письма не получит... но это письмо получит посмастер Улыбка

RSS-материал