The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Эффективная интеграция Exchange и Postfix."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(ok) on 22-Фев-05, 01:00  (MSK)
Мною было перерыта куча информации, но вся информация на эту тему есть только кусками. Полная картина у меня не складывается. Может кто-то реализовал нечто подобное?

Есть задумка реализовать такую схему:

Internet -> идет письмо в мой домен user@domen.com -> оно попадает на шлюз FreeBSD (domen.com) c Postfix'ом -> Postfix проверяет, есть ли такой получатель в моем домене исходя из ранее импортированного из AD списка существующих адресатов (http://postfix.state-of-mind.de/patrick.koetter/mailrelay/#d0e257) -> Если адрес неправильный, письмо отбрасывается, иначе -> проверка Dr.Web'ом на вирусы -> проверка на спам -> передача письма в Exchange.

На сколько оптимален такой вариант, может есть более эффективные решения?

Меня интересуют ссылки на данную тему, рабочие (приблизительные) конфиги для Postfix'а.

P.S. Еще на FreeBSD стоит Squid, а хотелось бы, чтобы мобильные пользователи попадали на Exchange через OWA (Outlook Web Access). Возможно ли это?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 22-Фев-05, 09:08  (MSK)
Зачем каждый раз импортировать список адресатов из AD, когда можно их проверять, например, через LDAP-интерфейс AD? У нас давно так работает.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(??) on 22-Фев-05, 10:12  (MSK)
>Зачем каждый раз импортировать список адресатов из AD, когда можно их проверять,
>например, через LDAP-интерфейс AD? У нас давно так работает.

Ипортировать нужно для того, чтобы не загружать AD запросами. Сейчас это для меня, конечно, не актуально, т.к. 100 000 писем в день мне не приходит, просто хочется сделать с запасом на будущее.

Если не трудно, сбрось на мыло конфиги твоей связки.
sarj2000собакамаилточкару

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 22-Фев-05, 10:27  (MSK)
Лучше напишу здесь. Наверняка еще кому-нибудь пригодиться.

main.cf
---
(реализовано через virtual_mailbox_domains)
virtual_mailbox_domains = domain.tld
virtual_mailbox_maps = ldap:/etc/postfix/ldap.cf
---

ldap.cf
---
server_host = 192.168.1.1
server_port = 3268
search_base = dc=tld
timeout = 60
query_filter = (&(proxyAddresses=smtp:%s)(|(objectClass=user)(objectClass=group)(objectClass=cont
act)))
domain = domain.tld
result_attribute = canonicalName
bind = yes
bind_dn = ldapquery@domain.tld
bind_pw = Passwd123
debuglevel = 0
---

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(??) on 22-Фев-05, 14:34  (MSK)
>Лучше напишу здесь. Наверняка еще кому-нибудь пригодиться.
>
>main.cf
>---
>(реализовано через virtual_mailbox_domains)
>virtual_mailbox_domains = domain.tld
>virtual_mailbox_maps = ldap:/etc/postfix/ldap.cf
>---
>
>ldap.cf
>---
>server_host = 192.168.1.1
>server_port = 3268
>search_base = dc=tld
>timeout = 60
>query_filter = (&(proxyAddresses=smtp:%s)(|(objectClass=user)(objectClass=group)(objectClass=cont
>act)))
>domain = domain.tld
>result_attribute = canonicalName
>bind = yes
>bind_dn = ldapquery@domain.tld
>bind_pw = Passwd123
>debuglevel = 0
>---


Спасибо, конечно, за конфиг, но ты выложил только ту часть, которая отвечает за проверку адресов в AD. Меня (и не только, думаю) интересует все параметры конфигов, которые отвечают за работоспособность всей связки.

Т.е. параметры, отвечающие за проверку на вирусы, фильтрацию спама, пересылку Эксченджу, пересылку от Эксча в Интернет, чистку заголовков и т.п.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Эффективная интеграция Exchange и Postfix."
Сообщение от theShade emailИскать по авторуВ закладки(ok) on 22-Фев-05, 15:02  (MSK)
>>Лучше напишу здесь. Наверняка еще кому-нибудь пригодиться.
>>
>>main.cf
>>---
>>(реализовано через virtual_mailbox_domains)
>>virtual_mailbox_domains = domain.tld
>>virtual_mailbox_maps = ldap:/etc/postfix/ldap.cf
>>---
>>
>>ldap.cf
>>---
>>server_host = 192.168.1.1
>>server_port = 3268
>>search_base = dc=tld
>>timeout = 60
>>query_filter = (&(proxyAddresses=smtp:%s)(|(objectClass=user)(objectClass=group)(objectClass=cont
>>act)))
>>domain = domain.tld
>>result_attribute = canonicalName
>>bind = yes
>>bind_dn = ldapquery@domain.tld
>>bind_pw = Passwd123
>>debuglevel = 0
>>---
>
>
>Спасибо, конечно, за конфиг, но ты выложил только ту часть, которая отвечает
>за проверку адресов в AD. Меня (и не только, думаю) интересует
>все параметры конфигов, которые отвечают за работоспособность всей связки.
>
>Т.е. параметры, отвечающие за проверку на вирусы, фильтрацию спама, пересылку Эксченджу, пересылку
>от Эксча в Интернет, чистку заголовков и т.п.

http://www.samag.ru/ru/articles/5-04/news_current.shtml?2004/12/20041213-206.html
тебе поможет. просто ясно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(??) on 22-Фев-05, 15:42  (MSK)
>http://www.samag.ru/ru/articles/5-04/news_current.shtml?2004/12/20041213-206.html
>тебе поможет. просто ясно.

Спасибо за ссылку, да вот только я уже находил ее - она мертвая.. вернее сервер мертвый... =( Если у тебя есть оригинал той статейки, то запости или на мыло(смотри выше)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Эффективная интеграция Exchange и Postfix."
Сообщение от theShade emailИскать по авторуВ закладки(ok) on 22-Фев-05, 15:55  (MSK)
>>http://www.samag.ru/ru/articles/5-04/news_current.shtml?2004/12/20041213-206.html
>>тебе поможет. просто ясно.
>
>Спасибо за ссылку, да вот только я уже находил ее - она
>мертвая.. вернее сервер мертвый... =( Если у тебя есть оригинал той
>статейки, то запости или на мыло(смотри выше)


сервер норм. только что скачал. но если у тя траблы тогда держи - отправляю.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(??) on 22-Фев-05, 17:52  (MSK)
>Лучше напишу здесь. Наверняка еще кому-нибудь пригодиться.
>
>main.cf
>---
>(реализовано через virtual_mailbox_domains)
>virtual_mailbox_domains = domain.tld
>virtual_mailbox_maps = ldap:/etc/postfix/ldap.cf
>---
>
>ldap.cf
>---
>server_host = 192.168.1.1
>server_port = 3268
>search_base = dc=tld
>timeout = 60
>query_filter = (&(proxyAddresses=smtp:%s)(|(objectClass=user)(objectClass=group)(objectClass=cont
>act)))
>domain = domain.tld
>result_attribute = canonicalName
>bind = yes
>bind_dn = ldapquery@domain.tld
>bind_pw = Passwd123
>debuglevel = 0
>---


Для того, чтобы это работало, какое ПО должно быть установлено и какие демоны должны быть запущены?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 22-Фев-05, 18:06  (MSK)
postfix, контроллер домена, Exchange. Добавить в AD пользователя ldapquery@domain.tld с паролем Passwd123.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(??) on 22-Фев-05, 18:36  (MSK)
>postfix, контроллер домена, Exchange. Добавить в AD пользователя >ldapquery@domain.tld с паролем Passwd123.
>

Вопросы:

1. Ты писал, что у тебя реализовано через virtual_mailbox_domains
Эти две строки:
>virtual_mailbox_domains = domain.tld
>virtual_mailbox_maps = ldap:/etc/postfix/ldap.cf
>
все что нужно в конфиге postfix, чтобы он проверял правильность адресата?

2. Правильность адресата проверяется до принятия письма или после?
3. Не совсем понял насчет пользователя, которого надо создать в AD
   У него логин: ldapquery@domain.tld (или это его мэйл?)
   И пароль: Passwd123
   Или я могу создать любого пользователя с любым паролем, но тогда мне придется поменять
>bind_dn = ldapquery@domain.tld
>bind_pw = Passwd123
> ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 24-Фев-05, 09:18  (MSK)
>1. Ты писал, что у тебя реализовано через virtual_mailbox_domains
>Эти две строки:
>>virtual_mailbox_domains = domain.tld
>>virtual_mailbox_maps = ldap:/etc/postfix/ldap.cf
>>
>все что нужно в конфиге postfix, чтобы он проверял правильность адресата?
Да. Чтобы потом принятые письма отправлялись на Exchnage нужно в /etc/postfix/transport добавить следующее:

domain.tld   smtp:[192.168.1.1]

и конечно postmap /etc/postfix/transport

>2. Правильность адресата проверяется до принятия письма или после?
Да. Иначе зачем все это нужно.

>3. Не совсем понял насчет пользователя, которого надо создать в AD
>   У него логин: ldapquery@domain.tld (или это его мэйл?)
Если ты работаешь с AD, то должен знать, что пользователь может идентифицироваться как и раньше DOMAIN\ldapquery, так и по-новому ldapquery@domain.tld. Читай доки по AD.

>   И пароль: Passwd123
>   Или я могу создать любого пользователя с любым паролем,
>но тогда мне придется поменять
>>bind_dn = ldapquery@domain.tld
>>bind_pw = Passwd123
Нужно создать пользователя ldapquery с паролем "какой хочешь" в домене DOMAIN.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Эффективная интеграция Exchange и Postfix."
Сообщение от PJ Искать по авторуВ закладки(??) on 22-Фев-05, 17:03  (MSK)
>
>На сколько оптимален такой вариант, может есть более эффективные решения?

Не знаю как насчет Postfix, у меня давно работает qmail+vpopmail, оттуда POP Connector'ом забирается на Exchange.

насчет OWA: если на BSD нету никакого web-сервера, то организуй проброс соединения извне на 80 порт Ехchange (смотри, может быть чревато). Squid тут не при чем. Как вариант можно для таких мобильных поднять VPN сервер на BSD (mpd/OpenVPN, после соединения обращаемся к Exchange по локальному IP)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(ok) on 22-Фев-05, 19:40  (MSK)
После того, как я указал в конфиге следующие строки

>main.cf
>---
>(реализовано через virtual_mailbox_domains)
>virtual_mailbox_domains = domain.tld
>virtual_mailbox_maps = ldap:/etc/postfix/ldap.cf
>---
>
>ldap.cf
>---
>server_host = 192.168.1.1
>server_port = 3268
>search_base = dc=tld
>timeout = 60
>query_filter = (&(proxyAddresses=smtp:%s)(|(objectClass=user)(objectClass=group)(objectClass=cont
>act)))
>domain = domain.tld
>result_attribute = canonicalName
>bind = yes
>bind_dn = ldapquery@domain.tld
>bind_pw = Passwd123
>debuglevel = 0

появилась ошибка:
Feb 22 18:29:48 gateway postfix/smtpd[580]: fatal: unsupported dictionary type: ldap
Feb 22 18:29:49 gateway postfix/master[174]: warning: process /usr/local/libexec/postfix/smtpd pid 580 exit status 1
Feb 22 18:29:49 gateway postfix/master[174]: warning: /usr/local/libexec/postfix/smtpd: bad command startup -- throttling
Feb 22 18:30:49 gateway postfix/smtpd[584]: fatal: unsupported dictionary type: ldap

Чего не хватает?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(ok) on 22-Фев-05, 22:29  (MSK)
>После того, как я указал в конфиге следующие строки
>
>>main.cf
>>---
>>(реализовано через virtual_mailbox_domains)
>>virtual_mailbox_domains = domain.tld
>>virtual_mailbox_maps = ldap:/etc/postfix/ldap.cf
>>---
>>
>>ldap.cf
>>---
>>server_host = 192.168.1.1
>>server_port = 3268
>>search_base = dc=tld
>>timeout = 60
>>query_filter = (&(proxyAddresses=smtp:%s)(|(objectClass=user)(objectClass=group)(objectClass=cont
>>act)))
>>domain = domain.tld
>>result_attribute = canonicalName
>>bind = yes
>>bind_dn = ldapquery@domain.tld
>>bind_pw = Passwd123
>>debuglevel = 0
>
>появилась ошибка:
>Feb 22 18:29:48 gateway postfix/smtpd[580]: fatal: unsupported dictionary type: ldap
>Feb 22 18:29:49 gateway postfix/master[174]: warning: process /usr/local/libexec/postfix/smtpd pid 580 exit status
>1
>Feb 22 18:29:49 gateway postfix/master[174]: warning: /usr/local/libexec/postfix/smtpd: bad command startup -- throttling
>
>Feb 22 18:30:49 gateway postfix/smtpd[584]: fatal: unsupported dictionary type: ldap
>
>Чего не хватает?

С этим разобрался - поставил лдап и его поддержку постфиксом.

Теперь новый глюк:
Feb 22 21:24:07 gateway postfix/smtpd[622]: fatal: opening ldap:/etc/postfix/ldap.cf Invalid argument
Feb 22 21:24:08 gateway postfix/master[612]: warning: process /usr/local/libexec/postfix/smtpd pid 622 exit status 1
Feb 22 21:24:08 gateway postfix/master[612]: warning: /usr/local/libexec/postfix/smtpd: bad command startup -- throttling

Как с этим бороться?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 24-Фев-05, 09:23  (MSK)
Покажи ldap.cf. Версия postfix?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(??) on 24-Фев-05, 18:20  (MSK)
>Покажи ldap.cf. Версия postfix?

Виндовс-домен у меня domen.local
Инет-домен у меня domen.by

ldap.cf (комментарии удалены)

ldap_timeout = 60
ldap_search_base = dc=local
ldap_server_host = 192.168.x.2
ldap_server_port = 3268
ldap_query_filter = (&(proxyAddresses=smtp:%s)(|(objectClass=user)(objectClass=group)(objectClass=contact)))
ldap_result_filter = %s
ldap_result_attribute = canonicalName
ldap_special_result_attribute =
ldap_scope = sub
ldap_bind = yes
ldap_bind_dn = ldapquery@domen.by (тут наверное .local нужно, а не .by?)
ldap_bind_pw = Passwd123
ldap_cache = no
ldap_cache_expiry = 30
ldap_cache_size = 32768
ldap_dereference = 0
ldap_domain = domen.by (тут наверное .local нужно, а не .by?)
ldap_debuglevel = 0
----------------------
Версия Postfix 2.0.15,1
Версия openldap-client-2.1.22

  Рекомендовать в FAQ | Cообщить модератору | Наверх

18. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 25-Фев-05, 09:20  (MSK)
Для postfix 2.0 параметры ldap немного другие.

man ldap_table
...
       For  backwards  compatibility with Postfix version 2.0 and
       earlier, LDAP parameters can also be defined  in  main.cf.
       Specify  as  LDAP  source a name that doesn't begin with a
       slash or a dot.  The LDAP parameters will then be accessi-
       ble as the name you've given the source in its definition,
       an underscore, and the name of the parameter.   For  exam-
       ple,  if  the  map  is specified as "ldap:ldapsource", the
       "server_host" parameter below would be defined in  main.cf
       as "ldapsource_server_host".

       Note:  with  this form, the passwords for the LDAP sources
       are written in main.cf, which is normally  world-readable.
       Support  for this form will be removed in a future Postfix
       version....

Например:

/etc/postfix/main.cf

virtual_mailbox_domains = domain.local
virtual_mailbox_maps = ldap:ldapmap

ldapmap_search_base = dc=local
ldapmap_server_host = 192.168.x.2
ldapmap_server_port = 3268
и т.д.

> ldap_bind_dn = ldapquery@domen.by (тут наверное .local нужно, а не .by?)
Само-собой ldapquery@domen.local

  Рекомендовать в FAQ | Cообщить модератору | Наверх

19. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 25-Фев-05, 09:23  (MSK)
Вот еще неплохая статья как раз о postfix 2.0 с ldap:
http://www.opennet.me/base/net/ldap_postfix.txt.html
  Рекомендовать в FAQ | Cообщить модератору | Наверх

20. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 25-Фев-05, 09:36  (MSK)
>ldap_domain = domen.by (тут наверное .local нужно, а не .by?)
Здесь как раз нужно domen.by
  Рекомендовать в FAQ | Cообщить модератору | Наверх

17. "Эффективная интеграция Exchange и Postfix."
Сообщение от Piter Ring Искать по авторуВ закладки on 24-Фев-05, 22:08  (MSK)

>Internet -> идет письмо в мой домен user@domen.com -> оно попадает на шлюз FreeBSD (domen.com) c Postfix'ом -> Postfix проверяет, есть ли такой получатель в моем домене исходя из ранее импортированного из AD списка существующих адресатов (http://postfix.state-of-mind.de/patrick.koetter/mailrelay/#d0e257) -> Если адрес неправильный, письмо отбрасывается, иначе -> проверка Dr.Web'ом на вирусы -> проверка на спам -> передача письма в Exchange.
>
>На сколько оптимален такой вариант, может есть более эффективные решения?

Есть более оптимальный вариант, упразднить "почтовый шлюз" и принимать мыло прямо эксчейнжем, антивирус+спамфильтр там тоже имеет место быть

получится: интернет - НАТ - ексчейнж+спамфильтр+авир


>Меня интересуют ссылки на данную тему, рабочие (приблизительные) конфиги для Postfix'а.
>
>P.S. Еще на FreeBSD стоит Squid, а хотелось бы, чтобы мобильные пользователи
>попадали на Exchange через OWA (Outlook Web Access). Возможно ли это?
ова для внешних юзеров мож открыть без стыда только в режиме https://


  Рекомендовать в FAQ | Cообщить модератору | Наверх

21. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(??) on 28-Фев-05, 16:12  (MSK)
Что неправильно?
1.   telnet localhost 25
     Trying ::1...
     telnet: connect to address ::1: Connection refused
     Trying 127.0.0.1...
     Connected to localhost.domen.by.
     Escape character is '^]'.
     220 gateway.domen.by ESMTP Postfix
2.   mail from: v.ivanov@domen.by (адрес, существующий в AD)
     250 Ok
3.   rcpt to: administrator@domen.by (адрес, существующий в AD)
     451 <administrator@domen.by>: Temporary lookup failure
4.   rcpt to: v.pupkin@kudato.by (адрес, НЕ существующий в AD)
     250 Ok
5.   data
     354 End data with <CR><LF>.<CR><LF>
6.   hello
7.   .
     250 Ok: queued as 5EE0EE87EB
8.   quit
     221 Bye
     Connection closed by foreign host.

Вот что в логе после этой сессии:

Feb 28 14:47:58 gateway postfix/smtpd[725]: connect from localhost.domen.by[127.0.0.1]
Feb 28 14:49:46 gateway postfix/smtpd[725]: warning: dict_ldap_connect: Unable to bind to server ldap://localhost:389 as : -1 (Can't contact LDAP server)
Feb 28 14:49:46 gateway postfix/smtpd[725]: NOQUEUE: reject: RCPT from localhost.domen.by[127.0.0.1]: 451 <administrator@domen.by>: Temporary lookup failure; from=<v.ivanov@domen.by> to=<administrator@domen.by> proto=SMTP
Feb 28 14:50:39 gateway postfix/smtpd[725]: 5EE0EE87EB: client=localhost.domen.by[127.0.0.1]
Feb 28 14:50:46 gateway postfix/cleanup[730]: 5EE0EE87EB: message-id=<20050228124929.5EE0EE87EB@gateway.domen.by>
Feb 28 14:50:46 gateway postfix/qmgr[667]: 5EE0EE87EB: from=<v.ivanov@domen.by>, size=363, nrcpt=1 (queue active)
Feb 28 14:50:46 gateway postfix/smtp[731]: 5EE0EE87EB: to=<v.pupkin@kudato.by>, relay=none, delay=77, status=bounced (Host or domain name not found. Name service error for name=kudato.by type=A: Host not found)
Feb 28 14:50:46 gateway postfix/cleanup[730]: 6B2D1E87FC: message-id=<20050228125046.6B2D1E87FC@gateway.domen.by>
Feb 28 14:50:46 gateway postfix/qmgr[667]: 6B2D1E87FC: from=<>, size=2147, nrcpt=1 (queue active)
Feb 28 14:50:46 gateway postfix/qmgr[667]: 5EE0EE87EB: removed
Feb 28 14:50:46 gateway postfix/qmgr[667]: warning: connect to transport hash: No such file or directory
Feb 28 14:50:48 gateway postfix/smtpd[725]: disconnect from localhost.domen.by[127.0.0.1]
Feb 28 14:51:08 gateway postfix/qmgr[667]: E8D29E87EC: from=<double-bounce@gateway.domen.by>, size=637, nrcpt=1 (queue active)
Feb 28 14:51:08 gateway postfix/qmgr[667]: E8D29E87EC: to=<postmaster@promec.by>, orig_to=<postmaster>, relay=none, delay=3803, status=deferred (delivery temporarily suspended: transport is unavailable)
Feb 28 14:51:46 gateway postfix/qmgr[667]: warning: connect to transport hash: No such file or directory
--------------------------------------------

Вот конфиги:

main.cf
--------------------------------------------
myhostname = gateway.domen.by
mydomain = domen.by
myorigin = $mydomain
inet_interfaces = all
local_recipient_maps =
unknown_local_recipient_reject_code = 550
mynetworks = 192.168.x.0/24, 127.0.0.0/8
virtual_mailbox_domains = domen.by
virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_maps = ldap:ldap.cf
virtual_transport = hash:/usr/local/etc/postfix/virtual_transport
ldapmap_search_base = dc=promec, dc=local
ldapmap_server_host = 192.168.x.150
ldapmap_server_port = 3268
---------------------------------------------

ldap.cf
---------------------------------------------
ldap_timeout = 60
#ldap_search_base = dc=domen, dc=local
#ldap_server_host = 192.168.x.150
#ldap_server_port = 3268
ldap_query_filter = (&(proxyAddresses=smtp:%s)(|(objectClass=user)(objectClass=group)(objectClass=contact)))
ldap_result_filter = %s
ldap_result_attribute = canonicalName
ldap_special_result_attribute =
ldap_scope = sub
ldap_bind = yes
ldap_bind_dn = ldapquery@domen.local
ldap_bind_pw = Passwd123
ldap_cache = no
ldap_cache_expiry = 30
ldap_cache_size = 32768
ldap_dereference = 0
ldap_domain = domen.by
ldap_debuglevel = 0
---------------------------------------------

virtual_transport
---------------------------------------------
domen.by smtp:[192.168.x.150]
---------------------------------------------

  Рекомендовать в FAQ | Cообщить модератору | Наверх

22. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 28-Фев-05, 17:20  (MSK)
Мда... всё смешалось в доме Облонских :)

>Что неправильно?
>1.   telnet localhost 25
>     Trying ::1...
>     telnet: connect to address ::1: Connection refused
Смотри /etc/hosts

>virtual_mailbox_maps = ldap:ldap.cf
virtual_mailbox_maps = ldap:ldapmap
Про файл /etc/postfix/ldap.cf забываем.

>virtual_transport = hash:/usr/local/etc/postfix/virtual_transport
>ldapmap_search_base = dc=domen, dc=local
>ldapmap_server_host = 192.168.x.150
>ldapmap_server_port = 3268
а дальше?

ldap_timeout = 60
ldapmap_query_filter = (&(proxyAddresses=smtp:%s)(|(objectClass=user)(objectClass=group)(objectClass=contact)))
ldapmap_result_filter = %s
ldapmap_result_attribute = canonicalName
ldapmap_special_result_attribute =
ldapmap_scope = sub
ldapmap_bind = yes
ldapmap_bind_dn = ldapquery@domen.local
ldapmap_bind_pw = Passwd123
ldapmap_cache = no
ldapmap_cache_expiry = 30
ldapmap_cache_size = 32768
ldapmap_dereference = 0
ldapmap_domain = domen.by
ldapmap_debuglevel = 0

P.S. Можно еще добавить поиск Public Folders (они тоже могут иметь e-mail) и использовать вместо canonicalName - cn
ldapmap_query_filter = (&(proxyAddresses=smtp:%s)(|(objectClass=user)(objectClass=group)(objectClass=contact)(objectClas
s=publicFolder)))
ldapmap_result_attribute = cn

  Рекомендовать в FAQ | Cообщить модератору | Наверх

23. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(??) on 28-Фев-05, 17:30  (MSK)
>Мда... всё смешалось в доме Облонских :)

Извини, забыл сказать, что я поставил Postfix 2.1.5_1,1

>virtual_mailbox_maps = ldap:ldap.cf
>virtual_mailbox_maps = ldap:ldapmap
>Про файл /etc/postfix/ldap.cf забываем.

Следовательно, опять вспоминаем про файл ldap.cf?

P.S. С локальными мапами пересылка эксчу заработала.

P.P.S. Exchange не пересылает почту наружу:

The message could not be sent because one of the recipients was rejected by the server. The rejected e-mail address was 'v.ivanov@telecom.by'. Subject 'От НашаКомпания', Account: 'dcmserver', Server: 'dcmserver', Protocol: SMTP, Server Response: '550 5.7.1 Unable to relay for v.ivanov@telecom.by', Port: 25, Secure(SSL): No, Server Error: 550, Error Number: 0x800CCC79

  Рекомендовать в FAQ | Cообщить модератору | Наверх

24. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(??) on 28-Фев-05, 21:00  (MSK)
>>Мда... всё смешалось в доме Облонских :)
>
>Извини, забыл сказать, что я поставил Postfix 2.1.5_1,1
>
>>virtual_mailbox_maps = ldap:ldap.cf
>>virtual_mailbox_maps = ldap:ldapmap
>>Про файл /etc/postfix/ldap.cf забываем.
>
>Следовательно, опять вспоминаем про файл ldap.cf?
>
>P.S. С локальными мапами пересылка эксчу заработала.
>
>P.P.S. Exchange не пересылает почту наружу:
>
>The message could not be sent because one of the recipients was
>rejected by the server. The rejected e-mail address was 'v.ivanov@telecom.by'. Subject
>'От НашаКомпания', Account: 'dcmserver', Server: 'dcmserver', Protocol: SMTP, Server Response: '550
>5.7.1 Unable to relay for v.ivanov@telecom.by', Port: 25, Secure(SSL): No, Server
>Error: 550, Error Number: 0x800CCC79

Постучал в бубен - все заработало с локальным мапом. Теперь попробую заменить локальный мап на лдап-запрос.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

25. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(??) on 28-Фев-05, 23:20  (MSK)
>Постучал в бубен - все заработало с локальным мапом. Теперь попробую заменить
>локальный мап на лдап-запрос.

Появился такой вопрос:
Чем отличаются virtual_mailbox_domains от relay_domains? Ведь результат можно получить один и тотже - переправить почту на Exchange...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

26. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(??) on 01-Мрт-05, 01:43  (MSK)
>Появился такой вопрос:
>Чем отличаются virtual_mailbox_domains от relay_domains? Ведь результат можно получить один и тотже
>- переправить почту на Exchange...

Усердное чтение манов помогло понять разницу... :)

Теперь стоит такой вопрос:
Как почистить письмо? Чтобы в нем не светились внутренние IP и имена машин? Чтобы казалось, что письмо отправлено прямо с FreeBSD?

Вот "грязный" заголовок письма:

Return-Path: <Administrator@domen.by>
Received: from mail.telecom.by ([unix socket])
         by mail.telecom.by (Cyrus v2.2.10) with LMTPA;
         Mon, 28 Feb 2005 19:37:28 +0200
X-Sieve: CMU Sieve 2.2
X-Envelope-To: <Promec@telecom.by>
Received: from gateway.domen.by (d73.dialup.telecom.by [213.184.226.73])
        by mail.telecom.by (8.13.3/8.13.3) with ESMTP id j1SHbQU9036412
        for <Promec@telecom.by>; Mon, 28 Feb 2005 19:37:27 +0200 (EET)
        (envelope-from Administrator@domen.by)
X-Authentication-Warning: martin.telecom.by: Host d73.dialup.telecom.by [213.184.226.73] claimed to be gateway.domen.by
Received: from dcmserver.domen.local (unknown [169.254.x.150])
        by gateway.domen.by (Postfix) with ESMTP id AE1F5E87EB
        for <Promec@telecom.by>; Mon, 28 Feb 2005 19:37:16 +0200 (EET)
Received: from dcmserver ([169.254.x.150]) by dcmserver.domen.local with Microsoft SMTPSVC(6.0.3790.0);
         Mon, 28 Feb 2005 19:37:16 +0200
Message-ID: <000601c51dbc$25224ff0$9600fea9@domen.local>
From: "=?koi8-r?B?8MHIsfsc3ssdf8n5IPFdgfFс4==?=" <Administrator@domen.by>
To: <v.ivanov@domen.by>
Cc: <Promec@telecom.by>
Subject: =?koi8-r?B?99PFzSDQ0snXxdTJy8kh?=
Date: Mon, 28 Feb 2005 19:37:16 +0200
MIME-Version: 1.0
Content-Type: text/plain;
        charset="koi8-r"
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.3790.0
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.3790.0
X-OriginalArrivalTime: 28 Feb 2005 17:37:16.0399 (UTC) FILETIME=[25224FF0:01C51DBC]
X-Spam-Status: No, hits=-4.3 required=5.0 tests=AWL,BAYES_00 autolearn=ham
        version=2.64
X-Spam-Checker-Version: SpamAssassin 2.64 (2004-01-11) on martin.telecom.by

  Рекомендовать в FAQ | Cообщить модератору | Наверх

27. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 01-Мрт-05, 09:22  (MSK)
>>Чем отличаются virtual_mailbox_domains от relay_domains? Ведь результат можно получить один и тотже
>>- переправить почту на Exchange...
>
>Усердное чтение манов помогло понять разницу... :)
>
Я использую virtual_mailbox_domains, поскольку некоторые почтовые ящики из этого домена находятся локально, а остальные на Exchange. Ничто не мешает тебе реализовать через relay_domains.

>Теперь стоит такой вопрос:
>Как почистить письмо? Чтобы в нем не светились внутренние IP и имена
>машин? Чтобы казалось, что письмо отправлено прямо с FreeBSD?
>
Стандартными средствами думаю никак (да и нехорошо это). Может unk посоветует вариант.
Единственное, что пока приходит на ум, попробовать в настройках Exchange SMTP Server указать другое имя.
SMTP Server -> Свойства -> Delivery -> Advanced... -> Fully-qualified domain name
Укажи какое-нибудь левое имя, пошли письмо и проверь заголовки, будет ли подставлять его.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

28. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 09:30  (MSK)
>Стандартными средствами думаю никак (да и нехорошо это). Может unk посоветует вариант.
Часть можно убрать через header_checks IGNORE.
Если хочется большего, то нужен либо второй экземпляр postfix, либо внешний фильтр.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

29. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 01-Мрт-05, 09:56  (MSK)
Если я не ошибаюсь, то header_checks не затрагивает Received: ...?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

30. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 10:05  (MSK)
>Если я не ошибаюсь, то header_checks не затрагивает Received: ...?
Да, все тэги добавленные cleanup не проверяются.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

31. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(??) on 01-Мрт-05, 10:12  (MSK)
>>Если я не ошибаюсь, то header_checks не затрагивает Received: ...?
>Да, все тэги добавленные cleanup не проверяются.

Это что же получается - встроенными средствами не убрать даже мои внутренние IP???

А каким внешним фильтром можно воспользоваться для чистки?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

34. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 10:38  (MSK)
>Это что же получается - встроенными средствами не убрать даже мои внутренние
>IP???
Не виден только последний вставленный Received (тот что в письме выше)
Про фильтр не знаю. Если у вас почты не много подойдет и sed :)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

32. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 01-Мрт-05, 10:24  (MSK)
>>Если я не ошибаюсь, то header_checks не затрагивает Received: ...?
>Да, все тэги добавленные cleanup не проверяются.
А уже имеющиеся Received:?

Подскажите, правильно ли я понимаю следующее:
1. smtpd построчно передает письмо cleanup-у и smtpd_proxy_filter-у по мере их поступления.
2. Received: добавляет smtpd (хотя раз Вы говорите cleanup, то скорее всего так оно и есть).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

33. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 10:35  (MSK)
>Подскажите, правильно ли я понимаю следующее:
>1. smtpd построчно передает письмо cleanup-у и smtpd_proxy_filter-у по мере их поступления.
Вы смешиваете две разные вещи:
cleanup получает все письмо целиком (не важно от smtpd, pickup, sendmail,...)
smtpd_proxy_filter получает команды клиента после тривиальных проверок на валидность (проверки прибиты гвоздями и не конфигурируются), а данные (само письмо)по мере поступления их от клиента.

>2. Received: добавляет smtpd (хотя раз Вы говорите cleanup, то скорее всего
>так оно и есть).
Received, Date, Message-Id, From, ... добавляет cleanup. header_checks не видит только что вставленные тэги.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

35. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 01-Мрт-05, 11:08  (MSK)
>Вы смешиваете две разные вещи:
>cleanup получает все письмо целиком (не важно от smtpd, pickup, sendmail,...)
>smtpd_proxy_filter получает команды клиента после тривиальных проверок на валидность (проверки прибиты гвоздями
>и не конфигурируются), а данные (само письмо)по мере поступления их от
>клиента.
>
А где smtpd создает временный файл с принимаемым письмом?

>
>>2. Received: добавляет smtpd (хотя раз Вы говорите cleanup, то скорее всего
>>так оно и есть).
>Received, Date, Message-Id, From, ... добавляет cleanup. header_checks не видит только что
>вставленные тэги.
Т.е. тэги, вставленные другими MTA, он видит и будет их проверять?
Меня смущает следующее. Мы используем smtpd_proxy_filter=127.0.0.1:2525 (smtpprox), который после некоторых проверок соединяется со вторым smtpd (127.0.0.1:2526) и передает ему письмо. Если первый smtpd перенаправляет письмо сразу smtpprox, минуя cleanup, тогда кто добавляет
Received: from mx.mail.ru (...)
          by mx.mydomen.ru (Postfix) with ESMTP
          for ...
т.е. первый smtpd принял письмо от mx.mail.ru. Поэтому я и подумал, что это делает smtpd. Поправьте меня, плиз.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

36. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 11:46  (MSK)
>А где smtpd создает временный файл с принимаемым письмом?
AFAIR держит в буферах копию на случай ошибки.

>>>2. Received: добавляет smtpd (хотя раз Вы говорите cleanup, то скорее всего
>>>так оно и есть).
Пардон я прогнал :(
(меня тут постояно отвлекают от нашей беседы)
На самом дели вы правы. Received ставит smtpd (cleanup прячет)

>Т.е. тэги, вставленные другими MTA, он видит и будет их проверять?
Да.

>Меня смущает следующее. Мы используем smtpd_proxy_filter=127.0.0.1:2525 (smtpprox), который после некоторых проверок соединяется
>со вторым smtpd (127.0.0.1:2526) и передает ему письмо. Если первый smtpd
>перенаправляет письмо сразу smtpprox, минуя cleanup, тогда кто добавляет
Когда я смотрел 2.1.0, то Received в режиме proxy и xforward НЕ ставился.
(ближе к обеду буду посвободней и посмотрю 2.1.5 - вдруг Винема переписал)

>Received: from mx.mail.ru (...)
>          by mx.mydomen.ru
>(Postfix) with ESMTP
>          for ...
>
>т.е. первый smtpd принял письмо от mx.mail.ru. Поэтому я и подумал, что
>это делает smtpd. Поправьте меня, плиз.
Вы правы еще раз извеняюсь.
И все таки я точно помню, что с момента появления фичи smtpd_proxy_filter первая копия smtpd не ставит Received... Если есть время, посмотрите сами src/smtpd/smtpd.c функцию data_cmd.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

37. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 12:02  (MSK)
Jonatan, пардон еще раз - видно у меня сегодня с головой что-то :)
Правильно так:
1) Recived вставляет smtpd(8)
(про случай proxy еше не смотрел)
2) header_checks видят ВСЕ received
3) cleanup(8) вставляет если нужно date, from, message-id, ...
4) header_checks не видит строчки вставленные cleanup(8)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

38. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 01-Мрт-05, 12:49  (MSK)
ОК, теперь и я понял :)
Благодарю за ответы.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

39. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(??) on 01-Мрт-05, 14:21  (MSK)
>ОК, теперь и я понял :)
>Благодарю за ответы.

А вот я не совсем понял...

>Правильно так:
>1) Recived вставляет smtpd(8)
>(про случай proxy еше не смотрел)
>2) header_checks видят ВСЕ received
>3) cleanup(8) вставляет если нужно date, from, message-id, ...
>4) header_checks не видит строчки вставленные cleanup(8)

Исходя из вышеизложенного, следует, что в вышеприведенном заголовке письма я могу убрать (или почистить) два нижних Received?

Если да, то как?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

40. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 15:48  (MSK)
>Если да, то как?
Напишите для них pcre/regexp типа:
/^Received:.*from.*\.domen\.tld.*192\.168\.1\./     IGNORE
И в main.cf header_checks = {regexp,pcre}:/path
  Рекомендовать в FAQ | Cообщить модератору | Наверх

42. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(ok) on 01-Мрт-05, 16:02  (MSK)
>>Если да, то как?
>Напишите для них pcre/regexp типа:
>/^Received:.*from.*\.domen\.tld.*192\.168\.1\./     IGNORE
>И в main.cf header_checks = {regexp,pcre}:/path

ЛИЧНОЕ СООБЩЕНИЕ
Можно ли Вас занести в свой контакт-лист в ICQ, дабы в случае экстренной необходимости обращаться к Вам за помощью? Если Вы не против, то постучитесь мне в асю 142498558

  Рекомендовать в FAQ | Cообщить модератору | Наверх

41. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 15:55  (MSK)
Посмотрел (по быстрому) работу smtpd при наличии proxy:
smtpd добавит "Recived" если он сам не является этим proxy.
Еще бросается в глаза, то что при наличии proxy smtpd не делает проверку SIZE_из_"MAIL FROM" < $message_size_limit.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

43. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 01-Мрт-05, 16:38  (MSK)
>Посмотрел (по быстрому) работу smtpd при наличии proxy:
>smtpd добавит "Recived" если он сам не является этим proxy.
А как он определяет, что он является smtpd_proxy_filter для другого smtpd (MTA)? ИМХО, smtpd не выполняет задач прокси. В каких тогда случаях, например, можно использовать его в этом качестве?

>Еще бросается в глаза, то что при наличии proxy smtpd не делает
>проверку SIZE_из_"MAIL FROM" < $message_size_limit.
В принципе это сделает второй smtpd (smtpd(1) -> smtpprox -> smtpd(2)).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

44. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(ok) on 01-Мрт-05, 16:49  (MSK)
>Напишите для них pcre/regexp типа:
>/^Received:.*from.*\.domen\.tld.*192\.168\.1\./     IGNORE
>И в main.cf header_checks = {regexp,pcre}:/path

Это помогло, на одно поле Received стало меньше, но одно лишнее еще осталось... Его тоже можно убрать? Как?

//Этот нормальный - его провайдерский шлюз добавляет
Received: from mail.telecom.by ([unix socket])
         by mail.telecom.by (Cyrus v2.2.10) with LMTPA;
         Tue, 01 Mar 2005 15:39:37 +0200
X-Sieve: CMU Sieve 2.2
X-Envelope-To: <promec@telecom.by>

//Этот тоже нормальный - пусть будет.
Received: from gateway.domen.by (d42.dialup.telecom.by [213.184.226.42])
        by mail.telecom.by (8.13.3/8.13.3) with ESMTP id j21DdBrG006088
        for <promec@telecom.by>; Tue, 1 Mar 2005 15:39:11 +0200 (EET)
        (envelope-from v.ivanov@domen.by)
X-Authentication-Warning: martin.telecom.by: Host d42.dialup.telecom.by [213.184.226.42] claimed to be gateway.domen.by

//А вот этот надо убрать!
Received: from dcmserver.domen.local (unknown [192.168.x.150])
        by gateway.domen.by (Postfix) with ESMTP id E6FA8E87EB
        for <promec@telecom.by>; Tue,  1 Mar 2005 15:39:00 +0200 (EET)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

46. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 17:02  (MSK)
>//А вот этот надо убрать!
>Received: from dcmserver.domen.local (unknown [192.168.x.150])
Эта строчка всегда одинакова или может меняться?
Если может изменяться, то покажите как.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

47. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(ok) on 01-Мрт-05, 17:27  (MSK)
>>//А вот этот надо убрать!
>>Received: from dcmserver.domen.local (unknown [192.168.x.150])
>Эта строчка всегда одинакова или может меняться?
>Если может изменяться, то покажите как.

Почтовый сервер пока что один, соответственно эта строка всегда одинакова.

Если что и поменяется, то это domen и IP адрес. Но это врядли.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

48. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 17:30  (MSK)
>Если что и поменяется, то это domen и IP адрес. Но это
>врядли.
Тогда где-то так:
/^Received:.*from.*\.domen\.local/ IGNORE

  Рекомендовать в FAQ | Cообщить модератору | Наверх

50. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(ok) on 01-Мрт-05, 18:04  (MSK)
>>Если что и поменяется, то это domen и IP адрес. Но это
>>врядли.
>Тогда где-то так:
>/^Received:.*from.*\.domen\.local/ IGNORE


Этим выражением нужно заменить это
>/^Received:.*from.*\.domen\.tld.*192\.168\.1\./     IGNORE

или добавить после него?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

52. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(ok) on 01-Мрт-05, 18:18  (MSK)
Я добавил вышеприведенное выражение в файл header_checks и он приобрел вид:
------------------------------------------------------
/^Received:.*from.*\.domen\.by.*169\.254\.0\./ IGNORE
/^Received:.*from.*\.domen\.by/ IGNORE
------------------------------------------------------
Теперь письма приходят с такими заголовками:

//Тут все ОК
Return-Path: <v.ivanov@domen.by>
Received: from mail.telecom.by ([unix socket])
         by mail.telecom.by (Cyrus v2.2.10) with LMTPA;
         Tue, 01 Mar 2005 17:08:56 +0200
X-Sieve: CMU Sieve 2.2
X-Envelope-To: <promec@telecom.by>

//Тут тоже все ОК
Received: from gateway.domen.by (d42.dialup.telecom.by [213.184.226.42])
        by mail.telecom.by (8.13.3/8.13.3) with ESMTP id j21F8sIa018976
        for <promec@telecom.by>; Tue, 1 Mar 2005 17:08:54 +0200 (EET)
        (envelope-from v.ivanov@domen.by)

//Интересно - что значит эта строка (добавил пров.)?
X-Authentication-Warning: martin.telecom.by: Host d42.dialup.telecom.by [213.184.226.42] claimed to be gateway.domen.by
Subject: =?koi8-r?B?5MzRIPBydfsMNz9fJ3sEg88XSx3gfsd8Lg==?=
Date: Tue, 1 Mar 2005 17:08:43 +0200

//Может что-то из нижеприведенного стоит тоже вырезать?
Message-ID: <8CBEF0AFCD9988439FE0E5DB226233FF6D5F@dcmserver.domen.local>
X-MS-Has-Attach:
MIME-Version: 1.0
Content-Type: multipart/alternative;
        boundary="----_=_NextPart_001_01C51E70.8F289174"
X-MS-TNEF-Correlator:
Thread-Topic: =?koi8-r?B?5MzRIPDByMHNz9fJ3sEg88XSx8XRLg==?=
Thread-Index: AcUecI8Y6dE64GRqSsiJJTwO6ytkZw==
Content-class: urn:content-classes:message
From: =?koi8-r?B?9MXN3snLIOTNywTSycog5M3J1DFGNLxddfsJ6g==?= <v.ivanov@domen.by>
X-MimeOLE: Produced By Microsoft Exchange V6.5.6944.0
To: <promec@telecom.by>

Может что-то из вышеприведенного стоит вырезать? Например строку:
Message-ID: <8CBEF0AFCD9988439FE0E5DB226233FF6D5F@dcmserver.domen.local>
Или заголовки уже и так нормальные?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

54. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 18:29  (MSK)
>Я добавил вышеприведенное выражение в файл header_checks и он приобрел вид:
>X-Sieve: CMU Sieve 2.2
Это можно убрать.

>//Интересно - что значит эта строка (добавил пров.)?
>X-Authentication-Warning: martin.telecom.by: Host d42.dialup.telecom.by [213.184.226.42] claimed to be gateway.domen.by
Вы в EHLO сказали gateway.domen.by, а на самом деле вы
d42.dialup.telecom.by

>//Может что-то из нижеприведенного стоит тоже вырезать?
>X-MS-Has-Attach:
>X-MS-TNEF-Correlator:
>Thread-Topic: =?koi8-r?B?5MzRIPDByMHNz9fJ3sEg88XSx8XRLg==?=
>Thread-Index: AcUecI8Y6dE64GRqSsiJJTwO6ytkZw==
>Content-class: urn:content-classes:message
>X-MimeOLE: Produced By Microsoft Exchange V6.5.6944.0
Если форум не пбил строки, то эти можно убрать.

>Message-ID: <8CBEF0AFCD9988439FE0E5DB226233FF6D5F@dcmserver.domen.local>
Если уберете, то ваш MUA будет не верно отображать триды.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

55. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(ok) on 01-Мрт-05, 18:39  (MSK)
>>X-Sieve: CMU Sieve 2.2
>Это можно убрать.

Эту строку добавляет провайдер.

>X-MS-Has-Attach:
>X-MS-TNEF-Correlator:
>Thread-Topic: =?koi8-r?B?5MzRIPDByMHNz9fJ3sEg88XSx8XRLg==?=
>Thread-Index: AcUecI8Y6dE64GRqSsiJJTwO6ytkZw==
>Content-class: urn:content-classes:message
>X-MimeOLE: Produced By Microsoft Exchange V6.5.6944.0
>Если форум не пбил строки, то эти можно убрать.

Т.е. все эти строки можно спокойно вырезать, создав фильтр, аналогичный тому, который вырезает поле Received?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

57. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 18:48  (MSK)
>>X-MS-Has-Attach:
>>X-MS-TNEF-Correlator:
>>Thread-Topic: =?koi8-r?B?5MzRIPDByMHNz9fJ3sEg88XSx8XRLg==?=
>>Thread-Index: AcUecI8Y6dE64GRqSsiJJTwO6ytkZw==
>>Content-class: urn:content-classes:message
>>X-MimeOLE: Produced By Microsoft Exchange V6.5.6944.0
>>Если форум не пбил строки, то эти можно убрать.
>Т.е. все эти строки можно спокойно вырезать, создав фильтр, аналогичный тому, который
>вырезает поле Received?
Да. С одним НО: header_checks не может отличить заголовки добавленные вашим Exchange/MUA от аналогичных заголовков в письмах пришедших из "большого мира".
  Рекомендовать в FAQ | Cообщить модератору | Наверх

58. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(ok) on 01-Мрт-05, 18:51  (MSK)
>Да. С одним НО: header_checks не может отличить заголовки добавленные вашим Exchange/MUA
>от аналогичных заголовков в письмах пришедших из "большого мира".

А в этих строках есть что-то важное?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

59. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(ok) on 01-Мрт-05, 18:51  (MSK)
>Да. С одним НО: header_checks не может отличить заголовки добавленные вашим Exchange/MUA
>от аналогичных заголовков в письмах пришедших из "большого мира".

А в этих строках есть что-то важное?

P.S. Так как насчет ICQ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

60. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 18:56  (MSK)
>>Да. С одним НО: header_checks не может отличить заголовки добавленные вашим Exchange/MUA
>>от аналогичных заголовков в письмах пришедших из "большого мира".
>А в этих строках есть что-то важное?
Ни чего критичного там нет.
Просто антиспам фильтры могут использовать эти заголовки для анализа. И если вы их вырежете до проверки, то часть антиспам правил не сработает.

>P.S. Так как насчет ICQ?
У меня ее нет.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

53. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 18:21  (MSK)
>>/^Received:.*from.*\.domen\.local/ IGNORE
Это более "сильный" regexp

>Этим выражением нужно заменить это
>>/^Received:.*from.*\.domen\.tld.*192\.168\.1\./     IGNORE
>или добавить после него?
Как хотите.
Вы так и писали domain.tld ???
tld это просто TopLevelDomain :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

56. "Эффективная интеграция Exchange и Postfix."
Сообщение от IT_Prof Искать по авторуВ закладки(ok) on 01-Мрт-05, 18:44  (MSK)
>Вы так и писали domain.tld ???
>tld это просто TopLevelDomain :)

Нет, я писал FQDN своего домена.

А через указание domain.tld в конфигах я прошел около 3-х месяцев назад ;)

  Рекомендовать в FAQ | Cообщить модератору | Наверх

45. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 16:59  (MSK)
>>Посмотрел (по быстрому) работу smtpd при наличии proxy:
>>smtpd добавит "Recived" если он сам не является этим proxy.
>А как он определяет, что он является smtpd_proxy_filter для другого smtpd (MTA)?
Не смотрел (будет больше времени можно будет поковыряться)

>ИМХО, smtpd не выполняет задач прокси. В каких тогда случаях, например,
>можно использовать его в этом качестве?
Не знаю. Даже идей нет как это можно использовать. Да и сам Винема похо не знает:
"Suppress our own Received: header in the unlikely case that we are an
intermediate proxy."

>>Еще бросается в глаза, то что при наличии proxy smtpd не делает
>>проверку SIZE_из_"MAIL FROM" < $message_size_limit.
>В принципе это сделает второй smtpd (smtpd(1) -> smtpprox -> smtpd(2)).
А что будет если proxy сначала говорит 2xx клиенту, а только потом отдает письмо smtpd2?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

49. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 01-Мрт-05, 18:04  (MSK)
>А что будет если proxy сначала говорит 2xx клиенту, а только потом
>отдает письмо smtpd2?

Не вижу проблем. proxy ничего не говорит. Это не его задача. smtpd1 устанавливает соединение с прокси только после получения от клиента RCPT TO. Прокси после этого устанавливает соединение с smtpd2 и прозрачно передает ему полученные команды. Например, соединяюсь с smtpd1 и указываю размер письма больше лимита:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 host.dom.ru ESMTP Postfix
ehlo localhost
250-host.dom.ru
250-PIPELINING
250-SIZE 5242880
250-VRFY
250-ETRN
250 8BITMIME
mail from: user@dom.ru SIZE=1000000000
250 Ok
rcpt to: user1@dom.ru
552 Message size exceeds fixed limit

552 отвечает smtpd2. Проверял лог в online после каждой команды.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

51. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 01-Мрт-05, 18:11  (MSK)
>>А что будет если proxy сначала говорит 2xx клиенту, а только потом
>>отдает письмо smtpd2?
>Не вижу проблем. proxy ничего не говорит. Это не его задача. smtpd1
Это не то.
Я о том, что будет если в качестве прокси обычный MTA(у него есть спул и т.д) и этот MTA принял письмо - сказал клиенту 250 на DATA.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

61. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 02-Мрт-05, 08:57  (MSK)
>Это не то.
>Я о том, что будет если в качестве прокси обычный MTA(у него
>есть спул и т.д) и этот MTA принял письмо - сказал
>клиенту 250 на DATA.

smtpd1 в любом случае даст клиенту 250 на DATA только если получит 250 от smtpd2. Неважно, MTA выступает в роли proxy или smtpprox. Сори, если опять непрвильно Вас понял.

P.S. smtpprox работает прозрачно. Не могу утверждать это про другие proxy. Например, amavisd. Возможно он работает по принципу store&forward. Будет время - обязательно посмотрю и его. Но это не меняет алгорит работы smtpd1.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

62. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 02-Мрт-05, 09:14  (MSK)
>Сори, если опять непрвильно Вас понял.
Ладно, бог с этим.
А посмотрите пожалуста, как поведет себя postfix если в проксируемом соединении клиент скажет "CONNECT" после валидного "RCPT TO".

>amavisd. Возможно он работает по принципу store&forward. Будет время - обязательно
Нет, amavis работает также как и ваш smtpprox.

>посмотрю и его. Но это не меняет алгорит работы smtpd1.
Конечно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

63. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 02-Мрт-05, 10:02  (MSK)
На команду CONNECT после валидного RCPT TO отвечает smtpd1 (судя по логам):

221 Error: I can break rules, too. Goodbye.
Connection closed by foreign host.

В логах после этой команды:

Mar  2 09:41:23 host postfix/smtpd[2746]: warning: host.dom.ru[1.2.3.4] sent non-SMTP command: CONNECT

  Рекомендовать в FAQ | Cообщить модератору | Наверх

64. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 02-Мрт-05, 10:05  (MSK)
>Mar  2 09:41:23 host postfix/smtpd[2746]: warning: host.dom.ru[1.2.3.4]
>sent non-SMTP command: CONNECT
т.е. postfix ее не предает proxy?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

65. "Эффективная интеграция Exchange и Postfix."
Сообщение от jonatan Искать по авторуВ закладки(??) on 02-Мрт-05, 10:18  (MSK)
Ругается только smtpd1. Если бы он передавал это proxy, то ругался бы и smtpd2, поскольку proxy прозрачный и не анализирует команды.
  Рекомендовать в FAQ | Cообщить модератору | Наверх

66. "Эффективная интеграция Exchange и Postfix."
Сообщение от unk Искать по авторуВ закладки(ok) on 02-Мрт-05, 10:20  (MSK)
>Ругается только smtpd1. Если бы он передавал это proxy, то ругался бы
>и smtpd2, поскольку proxy прозрачный и не анализирует команды.
Спасибо, я так и думал.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру