The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Exim - ограничеть от внешней почты., !*! Denis_56, 31-Июл-09, 16:14  [смотреть все]
Доброе время суток.
Есть FreeBSD 6.4 + Exim 4.69 +  MySQL + …
Вопрос как ограничить от внешней почты сервисные аккаунты, например  мне надо что бы для пользователей mail, root, webmaster… почта с внешних доменов не приходила (отбрасывалась), но при этом в нутрии доме почтовый обмен между ними был?
В таблице ввел дополнительное поле «no_local» и для этих пользователей там стоит значение 0.
  • Exim - ограничеть от внешней почты., !*! BlackHawk, 16:17 , 31-Июл-09 (1)
    >Доброе время суток.
    >Есть FreeBSD 6.4 + Exim 4.69 +  MySQL + …
    >Вопрос как ограничить от внешней почты сервисные аккаунты, например  мне надо
    >что бы для пользователей mail, root, webmaster… почта с внешних доменов
    >не приходила (отбрасывалась), но при этом в нутрии доме почтовый обмен
    >между ними был?
    >В таблице ввел дополнительное поле «no_local» и для этих пользователей там стоит
    >значение 0.

    и прописать deny например... или правильный транспорт...

    • Exim - ограничеть от внешней почты., !*! Denis_56, 16:45 , 31-Июл-09 (2)
      >
      >и прописать deny например... или правильный транспорт...

      вариант с deny мне больше нравится, но я не могу до конца осознать как его реализовать, знаний по Exim не хватает

      deny    message = "Sorry, the user was not found. Try again."
      domains = +local_domains

      с чем сравнивать: $ {lookup mysql{SELECT recipients FROM users WHERE  no_login=’0’}}
      ?

  • Exim - ограничеть от внешней почты., !*! Denis_56, 16:37 , 04-Авг-09 (3)
    После долгих размышлений пришел к следующему заперту:

    Deny   message   = "Sorry, the user was not found. Try again."
           Domains   = +local_domains
           condition = ${if and{{eq{$(lookup mysql{SELECT local_part FROM user WHERE local_part='${local_part}' AND no_local=true}}}{$local_part}{yes}{no}}{eq{$sender_address_domain}{$domain}{yes}{no}}}}

    правда теперь выдает ошибку при принятии почты =(

    2009-08-04 16:21:51 H=(mxb.rambler.ru) [81.19.66.30] F=<test@rambler.ru> temporarily rejected RCPT <test@pupkin.ru>: failed to expand ACL string "${if and{{eq{$(lookup mysql{SELECT local_part FROM users WHERE local_part='${local_part}' AND no_local=true}}}{$local_part}{yes}{no}}{eq{$sender_address_domain}{$domain}{yes}{no}}}}": $ not followed by letter, digit, or { inside "and{...}" condition

    Что не так, синтаксис вроде правильный…

    • Exim - ограничеть от внешней почты., !*! BlackHawk, 21:13 , 04-Авг-09 (4)
      >[оверквотинг удален]
      >       Domains   = +local_domains
      >
      >       condition = ${if and{{eq{$(lookup mysql{SELECT
      >local_part FROM user WHERE local_part='${local_part}' AND no_local=true}}}{$local_part}{yes}{no}}{eq{$sender_address_domain}{$domain}{yes}{no}}}}
      >
      >правда теперь выдает ошибку при принятии почты =(
      >
      >2009-08-04 16:21:51 H=(mxb.rambler.ru) [81.19.66.30] F=<test@rambler.ru> temporarily rejected RCPT <test@pupkin.ru>: failed to expand ACL string "${if and{{eq{$(lookup mysql{SELECT local_part FROM users WHERE local_part='${local_part}' AND no_local=true}}}{$local_part}{yes}{no}}{eq{$sender_address_domain}{$domain}{yes}{no}}}}": $ not followed by letter, digit, or { inside "and{...}" condition
      >
      >Что не так, синтаксис вроде правильный…

      я бы для начала урезал бы запрос до минимума, а потом уже наращивал... тем более оно ж сказал что ему не нравится

      • Exim - ограничеть от внешней почты., !*! Denis_56, 08:15 , 05-Авг-09 (5)
        >
        >я бы для начала урезал бы запрос до минимума, а потом уже
        >наращивал... тем более оно ж сказал что ему не нравится

        Само собой я урезал и проверял по отдельности, работает, а вот в связке ни как =(

        • Exim - ограничеть от внешней почты., !*! BlackHawk, 13:13 , 05-Авг-09 (6)
          >>
          >>я бы для начала урезал бы запрос до минимума, а потом уже
          >>наращивал... тем более оно ж сказал что ему не нравится
          >
          >Само собой я урезал и проверял по отдельности, работает, а вот в
          >связке ни как =(

          значит где-то таки ошибся, что очень легко в exim-омвских запросах... попробуй через макросы написать - будет легче в конфиге читать его

  • Exim - ограничеть от внешней почты., !*! Denis_56, 13:38 , 05-Авг-09 (7)
    Решил этот вопрос, обошелся без AND

    Deny   message   = "Sorry, the user was not found. Try again."
           Domains   = +local_domains
           condition = ${if eq{$(lookup mysql{SELECT local_part FROM user WHERE local_part='${local_part}' AND no_local=true}}}{$local_part}{yes}{no}}
           condition = ${if eq{$sender_address_domain}{$domain}{yes}{no}}





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

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