Сборка внешней почты и её обслуживание
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 28
- Зарегистрирован: 2008-11-06 16:14:25
- Откуда: Нижний Новгород
- Контактная информация:
Сборка внешней почты и её обслуживание
Ситуация следующая.
Есть локальная сеть под управлением WinServer2K3. Пользовательские ПК - под Windows Vista и XP.
Установлен почтовый сервер Exchange 2007.
Вся внешняя почта приходит на отдельный ящик вне локальной сети.
Необходимо под FreeBSD 7.0 настроить сборщик внешней почты (забирать с внешнего почтового ящика и пересылать в лапы Exchange), под ней же настроить проверку на спам и вирусы.
Я смог настроить fetchmail для забора почты по POP3 и пересылки по SMTP. Возможно осуществить проверки без организации хранения писем на FreeBSD-сервере или нет, и если да, то чем воспользоваться?
Есть локальная сеть под управлением WinServer2K3. Пользовательские ПК - под Windows Vista и XP.
Установлен почтовый сервер Exchange 2007.
Вся внешняя почта приходит на отдельный ящик вне локальной сети.
Необходимо под FreeBSD 7.0 настроить сборщик внешней почты (забирать с внешнего почтового ящика и пересылать в лапы Exchange), под ней же настроить проверку на спам и вирусы.
Я смог настроить fetchmail для забора почты по POP3 и пересылки по SMTP. Возможно осуществить проверки без организации хранения писем на FreeBSD-сервере или нет, и если да, то чем воспользоваться?
Не торопись, а то успеешь.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
А в чём проблема установить Exim, который все проверит и перешлёт на твой Exchange?
smarthost это дело называется.
http://www.lissyara.su/?id=1220#20.8
smarthost это дело называется.
http://www.lissyara.su/?id=1220#20.8
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- рядовой
- Сообщения: 28
- Зарегистрирован: 2008-11-06 16:14:25
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Очень недавно сел за администрирование под FreeBSD, еще толком не разобрался в софте и т.д.dikens3 писал(а):А в чём проблема установить Exim, который все проверит и перешлёт на твой Exchange?
smarthost это дело называется.
http://www.lissyara.su/?id=1220#20.8
Можно по порядку?
Установил exim по инструкции из http://www.opennet.ru/docs/RUS/exim_guide/1204.html (собрано с поддержкой WITH_CONTENT_SCAN) на сервак в локали bsd.domain.local.
Настроил fetchmail, забирающий с внешнего сервера mail.domain.out из внешки почту по POP3 и сразу пересылающий её exchange'у на exc.domain.local. Т.е. никакого взаимодействия с exim нет.
Что дальше?
Не торопись, а то успеешь.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
пересылать должен exim.Настроил fetchmail, забирающий с внешнего сервера mail.domain.out из внешки почту по POP3 и сразу пересылающий её exchange'у на exc.domain.local. Т.е. никакого взаимодействия с exim нет.
Вот пример:
http://www.lissyara.su/?id=1728
# Забираем почту c cancer@mail.ru кладем в cancer@domain-ak.ru
poll pop.mail.ru with protocol POP3:
no dns, user cancer@mail.ru password пароль is cancer@domain-ak.ru here;
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- рядовой
- Сообщения: 28
- Зарегистрирован: 2008-11-06 16:14:25
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
В статье слишком сложная конструкция с излишними накрутками.
Надо реализовать:
1. Сбор по POP3.
2. Проверку на спам и вирусы.
3. Отправку на Exchange по SMTP.
Было бы идеально просто накрутить поверх fetchmail антивирус и антиспам, которые проверяют то, что идет через 110 порт. Такие существуют?
Поднимать Апачи и ПХП я морально не готов
.
Надо реализовать:
1. Сбор по POP3.
2. Проверку на спам и вирусы.
3. Отправку на Exchange по SMTP.
Было бы идеально просто накрутить поверх fetchmail антивирус и антиспам, которые проверяют то, что идет через 110 порт. Такие существуют?
Поднимать Апачи и ПХП я морально не готов

Не торопись, а то успеешь.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
А он и не нужен (php и Apache).
Как что не получится пиши сюда. А то только разговоры.
Убери всё, и сделай то, что тебе нужно.В статье слишком сложная конструкция с излишними накрутками.
Как что не получится пиши сюда. А то только разговоры.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- лейтенант
- Сообщения: 755
- Зарегистрирован: 2005-11-06 18:25:26
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Для первого знакомства exim очень тяжелый. Особенно учитывая фразу - "Поднимать Апачи и ПХП я морально не готов" 

- manefesto
- Группенфюррер
- Сообщения: 6934
- Зарегистрирован: 2007-07-20 8:27:30
- Откуда: Пермь
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
чо там поднимать ?Alex_hha писал(а):Для первого знакомства exim очень тяжелый. Особенно учитывая фразу - "Поднимать Апачи и ПХП я морально не готов"
Ну это я так...крикнул
-
- лейтенант
- Сообщения: 755
- Зарегистрирован: 2005-11-06 18:25:26
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Если автор пишет - "Поднимать Апачи и ПХП я морально не готов"чо там поднимать ?

-
- рядовой
- Сообщения: 28
- Зарегистрирован: 2008-11-06 16:14:25
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Немного покопался, вроде вкурил что к чему.
В понедельник сяду за дело, всем спасибо за внимание
.
Морально не готов - я под БСД сижу первые свои недели. Ровно столько же я решаю админские задачи не под Виндой
.
Все, прекращаю флудить.
В понедельник сяду за дело, всем спасибо за внимание

Морально не готов - я под БСД сижу первые свои недели. Ровно столько же я решаю админские задачи не под Виндой

Все, прекращаю флудить.
Не торопись, а то успеешь.
-
- рядовой
- Сообщения: 28
- Зарегистрирован: 2008-11-06 16:14:25
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Exim поставил, конфиг разобрал и поправил "под свои нужды" до секции роутеров ("begin routers").
Возникли следующие вопросы.
1. Если не поднимать Апачи и MySQL для ведения БД с пользователями и их ящиками, где их указать вручную?
2. Чтобы свежевыбранная почта сразу после проверок высылалась на exc.domain.local, надо в секции роутеров приписать самым первым:
smart_route:
driver = "manualroute"
transport = remote_smtp
route_list = !+local_domains exc.domain.local
Возникли следующие вопросы.
1. Если не поднимать Апачи и MySQL для ведения БД с пользователями и их ящиками, где их указать вручную?
2. Чтобы свежевыбранная почта сразу после проверок высылалась на exc.domain.local, надо в секции роутеров приписать самым первым:
smart_route:
driver = "manualroute"
transport = remote_smtp
route_list = !+local_domains exc.domain.local
Не торопись, а то успеешь.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Почему речь идёт о пользователях, которые на exchange?landrower писал(а):Exim поставил, конфиг разобрал и поправил "под свои нужды" до секции роутеров ("begin routers").
Возникли следующие вопросы.
1. Если не поднимать Апачи и MySQL для ведения БД с пользователями и их ящиками, где их указать вручную?
Зачем тебе пользователи, у тебя должна быть проверка(обработка спама и вирусов) и отправка на exc.domain.local.
Ты ещё не понял как это работает.landrower писал(а):route_list = !+local_domains exc.domain.local
1-й аргумент (!+local_domains в твоём случае) - это для кого.
2-й агрумент - кому.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- рядовой
- Сообщения: 28
- Зарегистрирован: 2008-11-06 16:14:25
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Нужна по крайней мере одна postmaster'ская учетка для аутентификации на удаленном сервере, или как exim будет выгребать почту?dikens3 писал(а):Почему речь идёт о пользователях, которые на exchange?
Зачем тебе пользователи, у тебя должна быть проверка(обработка спама и вирусов) и отправка на exc.domain.local
UPD. перепутал с настройкой многострадального fetchmail'a

Т.е. первым маршрутом надо указать:
smart_route:
driver = "manualroute"
transport = remote_smtp
route_list = local_domains exc.domain.local
список "для кого" по идее ведь в local_domains указывался.
Не торопись, а то успеешь.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Я fetchmail плохо помню. Посмотри. А так нормально.
Над роутерами подумай, документацию почитай. Транспорт для пользователей тебе точно не нужен в таком случае.(раз уж роутер всё таки нужен)
http://www.lissyara.su/?id=1207#7.3
http://www.lissyara.su/?id=1215
Там скорее нужно чтобы этот роутер всегда положительный результат возвращал и делов.
например в доку есть такое.
Над роутерами подумай, документацию почитай. Транспорт для пользователей тебе точно не нужен в таком случае.(раз уж роутер всё таки нужен)
http://www.lissyara.su/?id=1207#7.3
http://www.lissyara.su/?id=1215
Там скорее нужно чтобы этот роутер всегда положительный результат возвращал и делов.
например в доку есть такое.
Код: Выделить всё
postmaster:
driver = redirect
local_parts = postmaster
data = postmaster@real.domain.example
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- рядовой
- Сообщения: 28
- Зарегистрирован: 2008-11-06 16:14:25
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Перечитал часть мануала по роутерам. Все-таки начну пробовать со smarthost'a.
Перечитал, что exim входящую почту принимает таки только по SMTP. Ну, опять же судя по мануалам, тот же fetchmail должен будет нормально пересылать забранную почту на локалхост... Попробую так.
В противном случае вопрос - где ему указывать хост, с которого почту лить??
Код: Выделить всё
smart_route:
driver = "manualroute"
domains = +local_domains
transport = remote_smtp
route_list = * exc.domain.local
В противном случае вопрос - где ему указывать хост, с которого почту лить??
Не торопись, а то успеешь.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Не понял я про что вопрос. Exim принимает почту как по SMTP(TCP?) так и без.В противном случае вопрос - где ему указывать хост, с которого почту лить??
http://www.lissyara.su/?id=1173
### конфигурация ACL для входящей почты
begin acl
# Эти правила срабатывают для каждого получателя
acl_check_rcpt:
# принимать сообщения которые пришли с локалхоста,
# не по TCP/IP
accept hosts = :
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- рядовой
- Сообщения: 28
- Зарегистрирован: 2008-11-06 16:14:25
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Ну, можно меня немножко поздравить - тестовые письма понемножку ходят 
Спасибо за наводку в самом начале на маршрут к smart_host.
Теперь задам вопрос немножко по другой теме.
Все acl'ы из конфигов http://www.lissyara.su/?id=1728 я уже адаптировал, собственно вопрос - какую утилиту можно прикрутить на роль антиспама?

Спасибо за наводку в самом начале на маршрут к smart_host.
Теперь задам вопрос немножко по другой теме.
Все acl'ы из конфигов http://www.lissyara.su/?id=1728 я уже адаптировал, собственно вопрос - какую утилиту можно прикрутить на роль антиспама?
Не торопись, а то успеешь.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
spamassasin,dspam
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- рядовой
- Сообщения: 28
- Зарегистрирован: 2008-11-06 16:14:25
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Возникла необходимость настроить что-то вроде "белого листа" - чтобы письма с конкретных адресов или доменов не проверялись дальнейшими acl'ами. Список адресов должен храниться в файле.
Я понимаю, это делается следующим образом:
делается новый acl, ставится самым первым,
а в самих файлах перечисление вида
Это так?
Я понимаю, это делается следующим образом:
делается новый acl, ставится самым первым,
Код: Выделить всё
accept hosts = /home/user1/white_hosts
control = submission
accept domains = /home/user1/white_domains
control = submission
Код: Выделить всё
white.ru
domain.ru
Не торопись, а то успеешь.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
С хостами ты погорячился, хост то будет один. А с доменами пробуй, у меня всё в mysql.
http://www.lissyara.su/?id=1209
И не domans - Это кому (Домен получателя)
а sender_domains или что-то типа этого.
Вот ещё пример:
http://www.lissyara.su/?id=1211#11.1
Можно переменную $sender_address_domain заюзать.
http://www.lissyara.su/?id=1209
И не domans - Это кому (Домен получателя)
а sender_domains или что-то типа этого.
Вот ещё пример:
http://www.lissyara.su/?id=1211#11.1
Можно переменную $sender_address_domain заюзать.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- рядовой
- Сообщения: 28
- Зарегистрирован: 2008-11-06 16:14:25
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
В конфиге должно появиться для конкретных пользователей:
Для доменов:
никак не могу придумать конструкцию, чтобы $sender_address сравнивался со значением типа @domain.ru из таблицы domains, но суть похоже та же. Существует ли переменная типа sender_domai
n?
И защита от отправки несуществующим пользователям будет выглядеть так:
Код: Выделить всё
accept condition = ${if eq{${lookup mysql {select `mailbox` from `white_hosts`\
where `creds`={$sender_address}}}}{yes}{no}}
никак не могу придумать конструкцию, чтобы $sender_address сравнивался со значением типа @domain.ru из таблицы domains, но суть похоже та же. Существует ли переменная типа sender_domai

И защита от отправки несуществующим пользователям будет выглядеть так:
Код: Выделить всё
deny condition = ${if eq{${lookup mysql {select `mailbox` from `users` \
where `creds`={$recipient_address}}}}{no}{yes}}
message "Recipient doesn't exist!"
Не торопись, а то успеешь.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Список переменных:
http://www.lissyara.su/?id=1211#11.8
http://www.lissyara.su/?id=1211#11.8
А что в ней должно быть по твоему? и чем не устраивает:Существует ли переменная типа sender_domain?
Можно переменную $sender_address_domain заюзать.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- рядовой
- Сообщения: 28
- Зарегистрирован: 2008-11-06 16:14:25
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Я лузер, неудачник и поиск меня ненавидит *стыд*
Завтра буду пробовать.
По крайней мере, до соединения с базами MySQL все работало путем
Завтра буду пробовать.
По крайней мере, до соединения с базами MySQL все работало путем

Не торопись, а то успеешь.
-
- рядовой
- Сообщения: 28
- Зарегистрирован: 2008-11-06 16:14:25
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
Пришлось отказаться от MySQL. Сделал три файла, по строкам перечислены домены/хосты/пользователи соответственно.
Я надеюсь, последняя моя просьба в этой теме - проверить правильность вставки условия отброса всех писем, адресованных несуществующим адресатам (в файле users построчно перечислены существующие пользовательские почтовые ящики):
Вставить его в верхней части, до проверок на допустимые символы, "белые листы" и т.д.
Я прав?
Я надеюсь, последняя моя просьба в этой теме - проверить правильность вставки условия отброса всех писем, адресованных несуществующим адресатам (в файле users построчно перечислены существующие пользовательские почтовые ящики):
Код: Выделить всё
deny condition = ${if eq{${lookup {$recipient_address}\
lsearch{/home/user1/users}}}{no}{yes}}
message = "Recipient doesnt exist!"
Я прав?
Не торопись, а то успеешь.
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Сборка внешней почты и её обслуживание
да проще можно:
Код: Выделить всё
deny domains = +local_domains
message = "Unknown user"
verify = recipient
Как нравится.Вставить его в верхней части, до проверок на допустимые символы, "белые листы" и т.д.
Я прав?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.