The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Exim и внешние Email, !*! osipen, 22-Дек-07, 15:30  [смотреть все]
Значит задача такая. Имеем MTA Exim, нужно сделать, что бы письма приходили с внешних email. Но при это должна работать авторизация пользователей. Проблема такая:
domainlist local_domains = 127.0.0.1 (то почта ходит только локально, не приходят письма с внешних email)
или
domainlist local_domains = 127.0.0.1 :  test.ru (то любой пользователь даже не созданный *@test.ru может слать письма куда угодно, зато письма приходят с внешних email)

в ACL CONFIGURATION    
accept  domains       = +local_domains
          endpass
          verify        = recipientaccept  

authenticated = *


deny    message       = relay not permitted

в    ROUTERS CONFIGURATION

dnslookup:
  driver = dnslookup
  domains = ! +local_domains
  transport = remote_smtp
  ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
  no_more

Как сделать так что бы письма приходили с внешних email но при этом работала авторизация? Задавал вопрос на многих форумах так и остался без ответа, просьба умников которые даже не вникают в суть проблемы не отправлять мануалы читать.
  • Exim и внешние Email, !*! Cyrus_user, 09:59 , 24-Дек-07 (1)
    • Exim и внешние Email, !*! osipen, 11:47 , 25-Дек-07 (2)
      Вот приблизительно так. Только Мне нужно настроить smtp авторизацию, таким образом что бы не авторизованный пользователь не смог отсылать письма никуда. На данный момент у пользователя получается отправить письмо локально, то есть user1@test.ru (не авторизован) может послать письмо user2@test.ru нужно сделать так что бы не смог. За основу взял конфиг из Virtual Exim и http://www.lissyara.su/?id=1194 и https://www.opennet.ru/openforum/vsluhforumID1/45256.html

      domainlist local_domains = @ : 127.0.0.1
      domainlist relay_to_domains = 127.0.0.1
      hostlist   relay_from_hosts = 127.0.0.1

      acl_smtp_rcpt = acl_check_rcpt

      acl_smtp_data = acl_check_content

      auth_advertise_hosts = *

      begin acl

      acl_check_helo:

      accept hosts = :

      deny    message       = "HELO/EHLO require by SMTP RFC"
              condition     = ${if eq{$sender_helo_name}{}{yes}{no}}

      accept


      acl_check_rcpt:

        deny    message       = "HELO/EHLO require by SMTP RFC"
                condition     = ${if eq{$sender_helo_name}{}{yes}{no}}

        # Отрицайте, если адрес отправителя не может быть проверен
        require verify        = sender

        accept  authenticated = *

        control = submission/sender_retain
      # Желаемый эффект можно получить если убрать этот блок но тогда перестанет приходить почта с других доменов
        accept  domains       = +local_domains
                endpass
                message       = "In my mailserver not stored this user"
                verify        = recipient
        deny    local_parts   = ^.*[@%!/|] : ^\\.

        deny    message       = relay not permitted

      acl_check_content:

      # Include Vexim specific rcpt ACLs
        .include /usr/local/etc/exim/vexim-acl-check-content.conf

      # finally accept all the rest
        accept

      begin authenticators

      plain_login:
              driver = plaintext
              public_name = PLAIN
              server_condition = ${lookup mysql{SELECT '1' FROM users \
                                      WHERE username = '${quote_mysql:$2}' \
                                      AND clear = '${quote_mysql:$3}'} {yes}{no}}
              server_set_id = $2

      fixed_login:
              driver = plaintext
              public_name = LOGIN
              server_prompts = "Username:: : Password::"
              server_condition = ${lookup mysql{SELECT '1' FROM users \
                                      WHERE username = '${quote_mysql:$1}' \
                                      AND clear = '${quote_mysql:$2}'} {yes}{no}}
              server_set_id = $1

      fixed_cram:
              driver = cram_md5
              public_name = CRAM-MD5
              server_secret = ${lookup mysql{SELECT clear FROM users \
                                      WHERE username = '${quote_mysql:$1}'}{$value}fail}
              server_set_id = $1

      • Exim и внешние Email, !*! CSX, 16:02 , 25-Дек-07 (3)
        • Exim и внешние Email, !*! osipen, 16:52 , 25-Дек-07 (4)
          >Вы вообще не понимаете о чем говорите. Как же вам удаленные почтовые
          >сервера для test.ru почту буду доставлять? Авторизовываться будут? Или Вы думаете,
          >что у почтовых серверов и почтовых клиентов разные SMTP протоколы?

          Ну скажем так в том то все и дело, что я не пойму насколько это возможно. Вот мне сказали что можно http://forum.lissyara.su/viewtopic.php?f=20&t=6483 , а вот как никто не может дать ответа. Если так нельзя сделать скажите плиз, а то у меня уже крыша едет запарился мануалы читать.




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

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