EXIM: уточнение насчет local_domains и relay_to_domains
Добавлено: 2010-04-29 19:17:39
Здравствуйте!
У меня есть сайт, на сайте пользователи получают поддомен; они должны иметь возможность создавать почтовые ящики на нем для пересылки почты на реальный почтовый ящик. То есть пользователь tark на сайте site.ru может сделать себе сайт tark.site.ru, а на нем завести мыло me@tark.site.ru и сказать, что надо все письма, которые на него приходят, должны пересылаться на tark@почтовый_сервер.ru. Я пробовал сделать такое на sendmail, получилось, но мне не удалось настроить sendmail так, чтобы он читал файлы virtusertable (релей мыло - реальное мыло) и local-host-names, которые лежали не в директории sendmail (все-таки эти файлы должны заполняться скриптами же). Но то, что я правил руками, настраивая релей, работало.
Проблема с сендмейлом для меня в том, что пишется все это в файл, достаточно тяжело изменять и удалять записи скриптами (опасно немного)
Мне посоветовали exim - и, в частности, статью http://www.lissyara.su/articles/freebsd ... tfixadmin/
В связи с этим есть пара вопросов... Что делают следующие запросы? Вернее, что там значит параметр ${domain} ?
Что, если кто-то прислал мыло на user@user.site.ru, то ${domain} == user.site.ru и просто проверяется, локальный ли это домен или нет? Но тогда стоило бы поставить LIMIT 1, чтобы не дергать лишний раз MySQL-сервер? Или что делают эти запросы и почему название переменных local_domains и relay_to_domains? Там должны быть _списки_ релеев и локальных доменов или? Можно ли сделать так, чтобы локальными считались все домены site.ru, включая поддомены или нужно заносить в таблицу ВСЕ поддомены сайта?
У меня есть сайт, на сайте пользователи получают поддомен; они должны иметь возможность создавать почтовые ящики на нем для пересылки почты на реальный почтовый ящик. То есть пользователь tark на сайте site.ru может сделать себе сайт tark.site.ru, а на нем завести мыло me@tark.site.ru и сказать, что надо все письма, которые на него приходят, должны пересылаться на tark@почтовый_сервер.ru. Я пробовал сделать такое на sendmail, получилось, но мне не удалось настроить sendmail так, чтобы он читал файлы virtusertable (релей мыло - реальное мыло) и local-host-names, которые лежали не в директории sendmail (все-таки эти файлы должны заполняться скриптами же). Но то, что я правил руками, настраивая релей, работало.
Проблема с сендмейлом для меня в том, что пишется все это в файл, достаточно тяжело изменять и удалять записи скриптами (опасно немного)
Мне посоветовали exim - и, в частности, статью http://www.lissyara.su/articles/freebsd ... tfixadmin/
В связи с этим есть пара вопросов... Что делают следующие запросы? Вернее, что там значит параметр ${domain} ?
Что, если кто-то прислал мыло на user@user.site.ru, то ${domain} == user.site.ru и просто проверяется, локальный ли это домен или нет? Но тогда стоило бы поставить LIMIT 1, чтобы не дергать лишний раз MySQL-сервер? Или что делают эти запросы и почему название переменных local_domains и relay_to_domains? Там должны быть _списки_ релеев и локальных доменов или? Можно ли сделать так, чтобы локальными считались все домены site.ru, включая поддомены или нужно заносить в таблицу ВСЕ поддомены сайта?
Код: Выделить всё
domainlist local_domains = ${lookup mysql{SELECT `domain` \
FROM `domain` WHERE \
`domain`='${domain}' AND \
`active`='1'}}
domainlist relay_to_domains = ${lookup mysql{SELECT `domain` \
FROM `domain` WHERE \
`domain`='${domain}' AND \
`active`='1'}}