Приветствую всех!Решил переползти с sendmail на postfix. Первое с чем столкнулся - не могу закрыть релей, кажется все делаю по документации... подскажите, что может быть не так? Ниже привожу вырезки из конфигов.
host# postconf mail_version
mail_version = 2.4.6/etc/postfix/main.cf
myhostname = host.domain.ru
mydomain = domain.ru
mydestination = $mydomain, localhost.$mydomain, localhost
relay_domains = domain.ru
relay_domains_reject_code = 550
relay_recipient_maps = hash:/etc/postfix/relay_recipients
mynetworks = 192.168.0.0/19, 127.0.0.0/8
smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains, permit_mx_backup
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_address, reject_unknown_client, reject_unknown_sender_domain, reject_unlisted_sender
smtpd_client_restriction = permit_mynetworks, reject_unknown_client
smtpd_helo_restriction = permit_mynetworks, reject_invalid_hostname, reject_unknown_client/etc/postfix/relay_recipient
@domain.ru OKПри этих настройках я могу послать письмо от кого угодно куда угодно, т.е. говорю
mail from: tratata@yandex.ru
rcpt to: gfhfhf@mail.ru
ответ
250 2.0.0 Ok: queued as ADD4695896
сообщение в очереди...Насколько я помню в sendmail все было весьма просто - файл relay-domains - в нем имя домена + директива на relay-domains в sendmail.cf и все
Направьте плиз по правильному пути.....
Спасибо.Подскажите, ято я не так делаю?
>[оверквотинг удален]
>Насколько я помню в sendmail все было весьма просто - файл relay-domains
>- в нем имя домена + директива на relay-domains в sendmail.cf
>и все
>
>Направьте плиз по правильному пути.....
>Спасибо.
>
>
>
>Подскажите, ято я не так делаю?насколько я помню релай домены вообще никчему, если вы хотите чтоб почта отправлялась только из офиса, если так то оставте только май нетворкс.
>[оверквотинг удален]
>Насколько я помню в sendmail все было весьма просто - файл relay-domains
>- в нем имя домена + директива на relay-domains в sendmail.cf
>и все
>
>Направьте плиз по правильному пути.....
>Спасибо.
>
>
>
>Подскажите, ято я не так делаю?Вам надо пойти на www.postfix.org и внимательно прочитать документацию к mta postfix.
В частности, Postfix Address Classes.
>[оверквотинг удален]
>>Направьте плиз по правильному пути.....
>>Спасибо.
>>
>>
>>
>>Подскажите, ято я не так делаю?
>
>Вам надо пойти на www.postfix.org и внимательно прочитать документацию к mta postfix.
>
>В частности, Postfix Address Classes.Да, забыл написать - postfix планирую использовать как внешний релей. Внутри - эксчендж. Соответственно почта должна приниматься снаружи ТОЛЬКО для домена domain.ru, дальше релеиться на внутренний почтовик, а изнутри отправляться только от доменного имени @domain.ru.
>[оверквотинг удален]
>>>Подскажите, ято я не так делаю?
>>
>>Вам надо пойти на www.postfix.org и внимательно прочитать документацию к mta postfix.
>>
>>В частности, Postfix Address Classes.
>
>Да, забыл написать - postfix планирую использовать как внешний релей. Внутри -
>эксчендж. Соответственно почта должна приниматься снаружи ТОЛЬКО для домена domain.ru, дальше
>релеиться на внутренний почтовик, а изнутри отправляться только от доменного имени
>@domain.ru.Попробуйте добавить в smtpd_recipient_restrictions последним пунктом reject_unauth_destination.
>[оверквотинг удален]
>>>Вам надо пойти на www.postfix.org и внимательно прочитать документацию к mta postfix.
>>>
>>>В частности, Postfix Address Classes.
>>
>>Да, забыл написать - postfix планирую использовать как внешний релей. Внутри -
>>эксчендж. Соответственно почта должна приниматься снаружи ТОЛЬКО для домена domain.ru, дальше
>>релеиться на внутренний почтовик, а изнутри отправляться только от доменного имени
>>@domain.ru.
>
>Попробуйте добавить в smtpd_recipient_restrictions последним пунктом reject_unauth_destination.И еще забыл спросить, что за странный параметр check_relay_domains в smtpd_recipient_restrictions.
>[оверквотинг удален]
>>>Вам надо пойти на www.postfix.org и внимательно прочитать документацию к mta postfix.
>>>
>>>В частности, Postfix Address Classes.
>>
>>Да, забыл написать - postfix планирую использовать как внешний релей. Внутри -
>>эксчендж. Соответственно почта должна приниматься снаружи ТОЛЬКО для домена domain.ru, дальше
>>релеиться на внутренний почтовик, а изнутри отправляться только от доменного имени
>>@domain.ru.
>
>Попробуйте добавить в smtpd_recipient_restrictions последним пунктом reject_unauth_destination.Уже добавил.Щас правило выглядит так: smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains, reject_unauth_destination
Результат тот же. Причем когда я пытаюсь отправить почту изнутри НЕ от своего доменного имени (как показал выше), в логах я вижу, что сообщение падает в очередь и пытается уйти, но релей как таковой отсутствует relay = none. Когда же письмо уходит от "правильного имени" - все в порядке.. в логах: relay = intmail.domain.ru, где intmail - алиасное имя для эксченджа. Может ли такое быть, что правила просто не отрабатывают? Например в master.cf может что-то нужно добавить...?
>[оверквотинг удален]
>>Попробуйте добавить в smtpd_recipient_restrictions последним пунктом reject_unauth_destination.
>
>Уже добавил.Щас правило выглядит так: smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains, reject_unauth_destination
>Результат тот же. Причем когда я пытаюсь отправить почту изнутри НЕ от
>своего доменного имени (как показал выше), в логах я вижу, что
>сообщение падает в очередь и пытается уйти, но релей как таковой
>отсутствует relay = none. Когда же письмо уходит от "правильного имени"
>- все в порядке.. в логах: relay = intmail.domain.ru, где intmail
>- алиасное имя для эксченджа. Может ли такое быть, что правила
>просто не отрабатывают? Например в master.cf может что-то нужно добавить...?Вот что вычитал на postfix.org про данное правило. Решил, что это то что мне нужно...
check_relay_domains
Permit when the client hostname matches $relay_domains, or when the resolved destination address matches $relay_domains, otherwise reject. The relay_domains_reject_code parameter specifies the response code for rejected requests (default: 550).
>[оверквотинг удален]
>>просто не отрабатывают? Например в master.cf может что-то нужно добавить...?
>
>Вот что вычитал на postfix.org про данное правило. Решил, что это то
>что мне нужно...
>
> check_relay_domains
> Permit when the client hostname matches $relay_domains, or
>when the resolved destination address matches $relay_domains, otherwise reject. The relay_domains_reject_code
>parameter specifies the response code for rejected requests (default: 550).
>Не могу найти описание этого параметра.
Что еще бросилось в глаза:
Зачем Вы указали в mydestination = $mydomain и в relay_domains = domain.ru?
Определитесь, что Вы хотите делать: принимать почту для domain.ru локально или релеить ее.
>[оверквотинг удален]
>>when the resolved destination address matches $relay_domains, otherwise reject. The relay_domains_reject_code
>>parameter specifies the response code for rejected requests (default: 550).
>>
>
>Не могу найти описание этого параметра.
>Что еще бросилось в глаза:
>Зачем Вы указали в mydestination = $mydomain и в relay_domains = domain.ru?
>
>Определитесь, что Вы хотите делать: принимать почту для domain.ru локально или релеить
>ее.И еще, гда Вы используете этот параметр: relay_recipient_maps = hash:/etc/postfix/relay_recipients?
Тоже не могу найти в Вашем конфиге.
Покажите вывод postconf -n.
>[оверквотинг удален]
>>Не могу найти описание этого параметра.
>>Что еще бросилось в глаза:
>>Зачем Вы указали в mydestination = $mydomain и в relay_domains = domain.ru?
>>
>>Определитесь, что Вы хотите делать: принимать почту для domain.ru локально или релеить
>>ее.
>
>И еще, гда Вы используете этот параметр: relay_recipient_maps = hash:/etc/postfix/relay_recipients?
>Тоже не могу найти в Вашем конфиге.
>Покажите вывод postconf -n.Локально почту принимать не хочу - нужно релеить на внутренний сервер.
host# postconf -n
alias_database = hash:/etc/postfix/aliases
alias_maps = hash:/etc/postfix/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
inet_protocols = ipv4
local_transport = error:local mail delivery is disabled
mail_owner = postfix
mailq_path = /usr/bin/mailq
manpage_directory = /usr/local/man
mydestination = $mydomain, localhost.$mydomain, localhost
mydomain = domain.ru
myhostname = host.domain.ru
mynetworks = 192.168.0.0/19, 127.0.0.0/8
myorigin = domain.ru
newaliases_path = /usr/bin/newaliases
queue_directory = /var/spool/postfix
readme_directory = no
relay_domains = domain.ru
relay_domains_reject_code = 550
relay_recipient_maps = hash:/etc/postfix/relay_recipients
sample_directory = /etc/postfix
sendmail_path = /usr/sbin/sendmail
setgid_group = postdrop
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains, reject_unauth_destination
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_address, reject_unknown_client, reject_unknown_sender_domain, reject_unlisted_sender
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550
virtual_alias_maps = hash:/etc/postfix/virtual
>[оверквотинг удален]
>relay_recipient_maps = hash:/etc/postfix/relay_recipients
>sample_directory = /etc/postfix
>sendmail_path = /usr/sbin/sendmail
>setgid_group = postdrop
>smtpd_banner = $myhostname ESMTP $mail_name
>smtpd_recipient_restrictions = permit_mynetworks, check_relay_domains, reject_unauth_destination
>smtpd_sender_restrictions = permit_mynetworks, reject_unknown_address, reject_unknown_client, reject_unknown_sender_domain, reject_unlisted_sender
>transport_maps = hash:/etc/postfix/transport
>unknown_local_recipient_reject_code = 550
>virtual_alias_maps = hash:/etc/postfix/virtualЕще раз говорю: нельзя указывать один и тот же домен в параметрах mydestination и relay_domains.
Каким образом Вы перенаправляете почту на Exchange? Через transport_maps?
Где Вы взяли параметр check_relay_domains? Поиск по всем параметрам postfix ничего не дает. Дайте ссылку.
Вам, скорее всего, нужно очистить параметр relay_domains, удалить из smtpd_recipient_restriction параметр check_relay_domains и прописать в transport_maps domain.ru smtp:[ip exchange](если это еще не сделано).
>[оверквотинг удален]
>
>Еще раз говорю: нельзя указывать один и тот же домен в параметрах
>mydestination и relay_domains.
>Каким образом Вы перенаправляете почту на Exchange? Через transport_maps?
>Где Вы взяли параметр check_relay_domains? Поиск по всем параметрам postfix ничего не
>дает. Дайте ссылку.
>Вам, скорее всего, нужно очистить параметр relay_domains, удалить из smtpd_recipient_restriction параметр check_relay_domains
>и прописать в transport_maps domain.ru smtp:[ip exchange](если это еще
>не сделано).
>Забыл.
Что за странное значение установлено у параметра local_transport?
Верните пока значение по умолчанию. Изменять будете после получения рабочего конфига.
>[оверквотинг удален]
>
>Еще раз говорю: нельзя указывать один и тот же домен в параметрах
>mydestination и relay_domains.
>Каким образом Вы перенаправляете почту на Exchange? Через transport_maps?
>Где Вы взяли параметр check_relay_domains? Поиск по всем параметрам postfix ничего не
>дает. Дайте ссылку.
>Вам, скорее всего, нужно очистить параметр relay_domains, удалить из smtpd_recipient_restriction параметр check_relay_domains
>и прописать в transport_maps domain.ru smtp:[ip exchange](если это еще
>не сделано).
>C mydestination сделал так:
/etc/postfix/main.cf
mydestination =
relay_domains = domain.ru
# почта на эксчендж:
transport_maps = hash:/etc/postfix/transport
/etc/postfix/transport
domain.ru smtp:[intmail.domain.ru]Ссылка на описание параметра check_relay_domains:
http://www.postfix.org/spam.htmlПро mydestination понял - поправил..Не очень понял зачем очищать параметр relay_domains?
насколько я понял из написаного на postfix.org, - нужно делать так как написано выше, в случае когда машина функционирует именно как релей... или я не прав?
>[оверквотинг удален]
>/etc/postfix/transport
>domain.ru smtp:[intmail.domain.ru]
>
>Ссылка на описание параметра check_relay_domains:
>http://www.postfix.org/spam.html
>
>Про mydestination понял - поправил..Не очень понял зачем очищать параметр relay_domains?
>насколько я понял из написаного на postfix.org, - нужно делать так как
>написано выше, в случае когда машина функционирует именно как релей... или
>я не прав?установкой такого значения хотел запретить локальный прием.
local_transport вернул в дефолт.
>[оверквотинг удален]
>>Ссылка на описание параметра check_relay_domains:
>>http://www.postfix.org/spam.html
>>
>>Про mydestination понял - поправил..Не очень понял зачем очищать параметр relay_domains?
>>насколько я понял из написаного на postfix.org, - нужно делать так как
>>написано выше, в случае когда машина функционирует именно как релей... или
>>я не прав?
>
>установкой такого значения хотел запретить локальный прием.
>local_transport вернул в дефолт.relay_domains используется для настройки postfix в качестве mx backup сервера, насколько я знаю. У Вас в днс сколько mx записей? Да и это, по-моему, на Ваш случай.
Для Вас же достаточно установить правильно параметр mydestination. А перенаправление почты будет происходить за счет transport_maps. Правда, в этом случае почта будет перенаправляться и для несуществующих пользователей. Чтобы этого не происходило, надо настроить local_recipient_maps(прочтите Rejecting Unknown Local Recipients with Postfix). Это делают либо выгружая пользователей из Exchange (при их изменении), либо настраивают ldap. Информации в инете полно на эту тему.
>[оверквотинг удален]
>>Ссылка на описание параметра check_relay_domains:
>>http://www.postfix.org/spam.html
>>
>>Про mydestination понял - поправил..Не очень понял зачем очищать параметр relay_domains?
>>насколько я понял из написаного на postfix.org, - нужно делать так как
>>написано выше, в случае когда машина функционирует именно как релей... или
>>я не прав?
>
>установкой такого значения хотел запретить локальный прием.
>local_transport вернул в дефолт.Хотя, наверное, можно сделать и через relay_domains.
Еще добавьте в конфиг:
strict_rfc821_envelopes = yes
По тому, что Вы написали, все должно работать.
>[оверквотинг удален]
>>>написано выше, в случае когда машина функционирует именно как релей... или
>>>я не прав?
>>
>>установкой такого значения хотел запретить локальный прием.
>>local_transport вернул в дефолт.
>
>Хотя, наверное, можно сделать и через relay_domains.
>Еще добавьте в конфиг:
>strict_rfc821_envelopes = yes
>По тому, что Вы написали, все должно работать.Дело в том, что перенаправление на внутренний сервер происходит нормально - все работает правильно, про local_recipient_maps тоже вроде все понятно. Я не могу понять как настроить отправку почты изнутри только от имени своего домена. При настройки sendmail, который сейчас фенкционирует в качестве релея я просто указывал в файле relay-domains имя машины и домена:
host.domain.ru
domain.ru
Таким образом получалось, что пользователь изнутри может отправлять почту только от user@domain.ru. В случае если юзер в mail from: пишет user@NEmoydomen.ru и rcpt to: user@NEmoydomen2.ru - получает relaing denied. В данном случае я хочу добиться такого же результата.
>[оверквотинг удален]
>работает правильно, про local_recipient_maps тоже вроде все понятно. Я не могу
>понять как настроить отправку почты изнутри только от имени своего домена.
>При настройки sendmail, который сейчас фенкционирует в качестве релея я просто
>указывал в файле relay-domains имя машины и домена:
>host.domain.ru
>domain.ru
>Таким образом получалось, что пользователь изнутри может отправлять почту только от user@domain.ru.
>В случае если юзер в mail from: пишет user@NEmoydomen.ru и rcpt
>to: user@NEmoydomen2.ru - получает relaing denied. В данном случае я хочу
>добиться такого же результата.убрать свою локалку из mynetworks, оставить там только ip exchange. На exchange настроить аутентификацию.
Я так понимаю на exchange postfix указан в качестве smart host?
Вообще то по дефолту exchange и не разрешит отправить от другого домена, кроме того, даже от пользователя из его же домена. Т.е. пользователь user1@domain.com по умолчанию не сможет отправить почту от имени user2@domain.com. Для этого необходимо давать специальные права.
>Еще раз говорю: нельзя указывать один и тот же домен в параметрах
>mydestination и relay_domains.это кто вам сказал? В документации - relay_domains (default: $mydestination) ;)
>Каким образом Вы перенаправляете почту на Exchange? Через transport_maps?
>Где Вы взяли параметр check_relay_domains? Поиск по всем параметрам postfix ничего не
>дает. Дайте ссылку.если не ошибаюсь этот параметр использовался в старых версиях postfix
>Вам, скорее всего, нужно очистить параметр relay_domains, удалить из smtpd_recipient_restriction параметр check_relay_domains
>и прописать в transport_maps domain.ru smtp:[ip exchange](если это еще
>не сделано).зачем?
>[оверквотинг удален]
>>Где Вы взяли параметр check_relay_domains? Поиск по всем параметрам postfix ничего не
>>дает. Дайте ссылку.
>
>если не ошибаюсь этот параметр использовался в старых версиях postfix
>
>>Вам, скорее всего, нужно очистить параметр relay_domains, удалить из smtpd_recipient_restriction параметр check_relay_domains
>>и прописать в transport_maps domain.ru smtp:[ip exchange](если это еще
>>не сделано).
>
>зачем?На эксе настроен коннектор к sendmail, который сейчас в качестве внешнего релея - не smart host, хотя наверное это без разницы... т.е. правильно ли я понимаю, что так же как в sendmail сделать не получится (релеить почту изнутри только от имени своего домена?) путем указания доменного имени в relay-domains? ограничить можно только по ИП/сеть? Насчет релея извне на внутренний сервер - только что настроил релей путем указания virtual_maps = hash:/etc/postfix/virtual
сам /etc/postfix/virtual содержит записи вида:
user@domain.ru user@intmail.domain.ru, где intmail - эксчендж. Но в таком случае каждого конкретного юзера мне как я понимаю нужно будет прописывать в virtual. А насчет transport_maps Вы считаете было написано не верно? так я тоже делал, для пересылки всей входящей почты для моего домена на внутренний почтовик...
вообще то пока задача у меня тривиальная - сделать закрытый релей, т.е. чтобы снаружи НЕ могли отсылать письма от имени моего либо какого-то еще домена через мой релей, ну и изнутри почта соответственно должна ходить только от моего имени/имен....
>[оверквотинг удален]
>>>и прописать в transport_maps domain.ru smtp:[ip exchange](если это еще
>>>не сделано).
>>
>>зачем?
>
>На эксе настроен коннектор к sendmail, который сейчас в качестве внешнего релея
>- не smart host, хотя наверное это без разницы... т.е. правильно
>ли я понимаю, что так же как в sendmail сделать не
>получится (релеить почту изнутри только от имени своего домена?) путем указания
>доменного имени в relay-domains? ограничить можно только по ИП/сеть?можно, но средствами exchange
> Насчет релея извне на внутренний сервер - только что настроил релей путем указания
>virtual_maps = hash:/etc/postfix/virtual
>сам /etc/postfix/virtual содержит записи вида:
>user@domain.ru user@intmail.domain.ru,
>где intmail - эксчендж. Но в таком случае каждого конкретного юзера
>мне как я понимаю нужно будет прописывать в virtual.ужасть. Зачем вам виртуал?
>А насчет transport_maps Вы считаете было написано не верно?
relay_domains = myexchange.com
transport_maps = /etc/postfix/transport_maps/etc/postfix/transport_maps
myexchange.com smtp:[192.168.127.1]192.168.127.1 - ip exchange
ВСЕ!!!
>вообще то пока задача у меня тривиальная - сделать закрытый релей, т.е.
>чтобы снаружи НЕ могли отсылать письма от имени моего либо какого-то
>еще домена через мой релей,smtpd_xxx_restriction. Если надо чтобы могли отсылать из мира, настройте аутентификацию
> ну и изнутри почта соответственно должна ходить только от моего имени/имен....
это реализуется средствами самого exchange, postfix тут не причём
>[оверквотинг удален]
>
>>вообще то пока задача у меня тривиальная - сделать закрытый релей, т.е.
>>чтобы снаружи НЕ могли отсылать письма от имени моего либо какого-то
>>еще домена через мой релей,
>
>smtpd_xxx_restriction. Если надо чтобы могли отсылать из мира, настройте аутентификацию
>
>> ну и изнутри почта соответственно должна ходить только от моего имени/имен....
>
>это реализуется средствами самого exchange, postfix тут не причём#Про виртуал..
Ну это, конечно хочется переделать, сейчас sendmail работает именно так - virtusertable со списком юзеров, для которых нужно релеить почту на эксчендж. В принципе хочу забирать список юзеров по ldap, но боюсь сразу сиё не осилить - поэтому начал с простого...#transport_maps
А так разве нельзя?
relay_domains = domain.ru
transport_maps = /etc/postfix/transport_maps/etc/postfix/transport_maps
domain.ru smtp:[myexchange.domain.ru]?
# Про аутентификацию..
насколько я понимаю - по умолчанию postfix будет в любом случае релеить почту извне только для моего домена (без аутентификации)... или я ошибаюсь?
# By default, Postfix relays mail
# - from "trusted" clients (IP address matches $mynetworks) to any destination,
# - from "untrusted" clients to destinations that match $relay_domains or
# subdomains thereof, except addresses with sender-specified routing.
>[оверквотинг удален]
>?
># Про аутентификацию..
>насколько я понимаю - по умолчанию postfix будет в любом случае релеить
>почту извне только для моего домена (без аутентификации)... или я ошибаюсь?
>
># By default, Postfix relays mail
># - from "trusted" clients (IP address matches $mynetworks) to any destination,
>
># - from "untrusted" clients to destinations that match $relay_domains or
># subdomains thereof, except addresses with sender-specified routing.Да почему же нельзя? Можно. Вам об этом уже несколько раз написали.
Только в этом случае почта будет пересылаться и для несуществующих пользователей.
Выгрузите список пользователей из Exchange и настройте параметр relay_recipient_map.
А потом сможете настроить ldap. Если у Вас пользователи Exchange не будут часто изменяться, то Вам, наверное, и ldap не нужен. Будете добавлять новых пользователей в этот список.
>[оверквотинг удален]
>># By default, Postfix relays mail
>># - from "trusted" clients (IP address matches $mynetworks) to any destination,
>>
>># - from "untrusted" clients to destinations that match $relay_domains or
>># subdomains thereof, except addresses with sender-specified routing.
>
>Да почему же нельзя? Можно. Вам об этом уже несколько раз написали.
>
>Только в этом случае почта будет пересылаться и для несуществующих пользователей.
>Выгрузите список пользователей из Exchange и настройте параметр relay_recipient_map.Вот пример скрипта
option explicit
on error goto 0'-------------------------------------------------------------
const strLDAP = "<LDAP://domain-controller-name/dc=kharkov,dc=home,dc=local>"'-------------------------------------------------------------
dim oFS, oShell, nErr, nWar, iset oShell = wscript.createobject( "wscript.shell")
set oFS = wscript.createobject( "scripting.filesystemobject")'-------------------------------------------------------------
dim sLog, sOut
dim oLog, oOutsLog = "debug.log"
sOut = "relay_recipient_maps"set oLog = oFS.opentextfile( sLog, 2, true, -1)
set oOut = oFS.opentextfile( sOut, 2, true, -1)oLog.writeline now()
'=============================================================
'---------Init Connection to the AD---------------------------
dim objADConnection, objADCommand
set objADConnection = CreateObject("ADODB.Connection")
objADConnection.Provider = "ADsDSOObject"
objADConnection.Open "Active Directory Provider"set objADCommand = CreateObject("ADODB.Command")
set objADCommand.ActiveConnection = objADConnection
objADCommand.Properties("Page Size") = 1000'---------Retrieve and process Mail recipients----------------
i = ProcessMailRecipients( objADCommand, strLDAP)
'---------Finalize--------------------------------------------
wscript.quit( 0)
'=============================================================
'-------------------------------------------------------------
function ProcessMailRecipients( objADCommand, strADRoot)
'http://support.microsoft.com/kb/318072dim strLDAP, objADRS
dim arrFields, strField
dim strSQL, strGUIDdim i, p
strLDAP = strADRoot
strLDAP = strLDAP & ";(proxyAddresses=*smtp:*);displayName,canonicalName,proxyAddresses;Subtree"objADCommand.CommandText = strLDAP
set objADRS = objADCommand.Execute
objADRS.MoveFirst
do until objADRS.EOF'displayName
oLog.write objADRS.Fields("displayName").Value & vbTab'canonicalName
arrFields = objADRS.Fields( "canonicalName").Value
oLog.writeline arrFields( 0)'proxyAddresses
arrFields = objADRS.Fields( "proxyAddresses").Value
for each strField in arrFields
if lcase( left( strField, 5)) = "smtp:" then
oLog.writeline mid( strField, 6)
oOut.writeline mid( strField, 6) & " Ok"
end if
nextoLog.writeline
objADRS.MoveNext
loop
end function'-------------------------------------------------------------
После запуска в файле relay_recipient_maps будет список всех smtp адресов
>[оверквотинг удален]
> oLog.writeline
>
> objADRS.MoveNext
> loop
>end function
>
>'-------------------------------------------------------------
>
>
>После запуска в файле relay_recipient_maps будет список всех smtp адресовСпасибо!
>#Про виртуал..
>Ну это, конечно хочется переделать, сейчас sendmail работает именно так - virtusertable
>со списком юзеров, для которых нужно релеить почту на эксчендж. В
>принципе хочу забирать список юзеров по ldap, но боюсь сразу сиё
>не осилить - поэтому начал с простого...ну дак postfix это не sendmail ;)
>#transport_maps
>А так разве нельзя?
>relay_domains = domain.ru
>transport_maps = /etc/postfix/transport_maps
>
>/etc/postfix/transport_maps
>domain.ru smtp:[myexchange.domain.ru]
>
>?дак я вам тоже самое написал ;)
># Про аутентификацию..
>насколько я понимаю - по умолчанию postfix будет в любом случае релеить
>почту извне только для моего домена (без аутентификации)... или я ошибаюсь?да, только если быть точным, не для твоего домена, а для доменов указанных в relay_domains
>[оверквотинг удален]
>>?
>
>дак я вам тоже самое написал ;)
>
>># Про аутентификацию..
>>насколько я понимаю - по умолчанию postfix будет в любом случае релеить
>>почту извне только для моего домена (без аутентификации)... или я ошибаюсь?
>
>да, только если быть точным, не для твоего домена, а для доменов
>указанных в relay_domainsНу да - relay_domains я и имел ввиду....
Всем спасибо за помощь - некоторая ясность образовалась -) но думаю, что еще неоднократно побеспокою ;-)
>[оверквотинг удален]
>>>насколько я понимаю - по умолчанию postfix будет в любом случае релеить
>>>почту извне только для моего домена (без аутентификации)... или я ошибаюсь?
>>
>>да, только если быть точным, не для твоего домена, а для доменов
>>указанных в relay_domains
>
>Ну да - relay_domains я и имел ввиду....
>
>Всем спасибо за помощь - некоторая ясность образовалась -) но думаю, что
>еще неоднократно побеспокою ;-)Вот кстати еще вопрос:
если в параметре mynetworks я описываю не всю сеть, а один хост, то нужно ли указывать параметры
mynetworks_style = (...)это не одно и то же - прописать ИП в mynetworks, не используя mynetworks_style и описать в mynetworks всю сеть, но в mynetworks_style поставить значение host
?
>При этих настройках я могу послать письмо от кого угодно куда угодно,
>т.е. говорю
>mail from: tratata@yandex.ru
>rcpt to: gfhfhf@mail.ru
>ответ
>250 2.0.0 Ok: queued as ADD4695896
>сообщение в очереди...я нашел решение здесь http://lists.altlinux.org/pipermail/sysadmins/2007-November/...
стоит обратить внимание на порядок проверки в ключе smtpd_sender_restrictions =
т.е. сначала проверить домен, а потом уже разрешить отправку
>[оверквотинг удален]
>>т.е. говорю
>>mail from: tratata@yandex.ru
>>rcpt to: gfhfhf@mail.ru
>>ответ
>>250 2.0.0 Ok: queued as ADD4695896
>>сообщение в очереди...
>
>я нашел решение здесь http://lists.altlinux.org/pipermail/sysadmins/2007-November/...
>стоит обратить внимание на порядок проверки в ключе smtpd_sender_restrictions =
>т.е. сначала проверить домен, а потом уже разрешить отправкуда что вы говорите? А я думал разрешение на отправку описывается в smtpd_recipient_restrictions
>Приветствую всех!
>
>Решил переползти с sendmail на postfix. Первое с чем столкнулся - не
>могу закрыть релей, кажется все делаю по документации... подскажите, что может
>быть не так?
>Подскажите, ято я не так делаю?В Sendmail'e из коробки relay запрещен.
Если работает, не трогай!