pervyjnah
Newbie | Ðåäàêòèðîâàòü | Ïðîôèëü | Ñîîáùåíèå | Öèòèðîâàòü | Ñîîáùèòü ìîäåðàòîðó ################################################################## #### Mailman Configuration ########## ################################################################## # Home dir for your Mailman installation MM_HOME=/usr/local/mailman # User and group for Mailman, should match your --with-mail-gid MM_UID=mailman MM_GID=mail # The path of the Mailman mail wrapper script MM_WRAP=MM_HOME/mail/mailman # The path of the list config file (used as a required file when # verifying list addresses) MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck ###################################################################### ####### LDAP CONFIGURATION SETTINGS ###### ###################################################################### ldap_default_servers = mydomain.net::389 LDAP_AUTH = user="foo@mydomain.net" pass="secret" ###################################################################### # MAIN CONFIGURATION SETTINGS # ###################################################################### primary_hostname = mydomain.net domainlist mm_domains = mydomain.net domainlist local_domains = \ ${lookup mysql{select domain from domain where domain='${domain}' \ and (type='local' or type='virtual')}} #domainlist local_domains = @ domainlist relay_to_domains = hostlist relay_from_hosts = localhost:127.0.0.1/8:10.0.0.0/24: \ ${lookup mysql{SELECT domain FROM domain \ WHERE (domain='${host_address}' OR domain='${host}') AND type='RELAY' AND active='1'}} hide mysql_servers = localhost/exim/sqlmail/secret acl_smtp_rcpt = acl_check_rcpt acl_smtp_data = acl_check_data # Allow any client to use TLS. tls_advertise_hosts = * tls_certificate = /etc/ssl/certs/exim.crt tls_privatekey = /etc/ssl/certs/exim.key # daemon_smtp_ports = 25 daemon_smtp_ports = 25 : 465 : 587 tls_on_connect_ports = 465 # qualify_domain = # qualify_recipient = # allow_domain_literals exim_user = mailnull exim_group = mail # never_users = root host_lookup = * rfc1413_hosts = * rfc1413_query_timeout = 0s # By default, Exim expects all envelope addresses to be fully qualified, that # is, they must contain both a local part and a domain. If you want to accept # unqualified addresses (just a local part) from certain hosts, you can specify # these hosts by setting one or both of # # sender_unqualified_hosts = # recipient_unqualified_hosts = # # to control sender and recipient addresses, respectively. When this is done, # unqualified addresses are qualified using the settings of qualify_domain # and/or qualify_recipient (see above). # percent_hack_domains = ignore_bounce_errors_after = 2d timeout_frozen_after = 7d # system_filter = /var/spool/exim/vacation/.autoreply.msg # system_filter_user = mailnull # system_filter_group = mail # system_filter_reply_transport = address_reply # log_selector = +all TRUSTED_USERS = drweb # av_scanner = drweb:/var/drweb/run/.daemon av_scanner = drweb:/var/drweb/run/.daemon ###################################################################### # ACL CONFIGURATION # # Specifies access control lists for incoming SMTP mail # ###################################################################### begin acl acl_check_rcpt: accept hosts = : accept hosts = localhost:mydomain.net: deny message = Restricted characters in address domains = +local_domains local_parts = ^[.] : ^.*[@%!/|] deny message = Restricted characters in address domains = !+local_domains local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./ accept local_parts = postmaster domains = +local_domains # require verify = sender accept authenticated = * endpass control = submission deny message = HELO/EHLO required by SMTP RFC condition = ${if eq{$sender_helo_name}{}{yes}{no}} deny message = Go Away! You are spammer. condition = ${if match{$sender_host_name} \ {bezeqint\\.net|net\\.il|dialup|dsl|pool|peer|dhcp}{yes}{no}} accept hosts = +relay_from_hosts accept domains = +local_domains:+relay_to_domains endpass message = Recipient unknown... verify = recipient # require message = relay not permitted # domains = +local_domains : +relay_to_domains deny message = Access deny - there is NOT an open relay! delay = 30s acl_check_data: accept ###################################################################### # ROUTERS CONFIGURATION # # Specifies how addresses are handled # ###################################################################### # THE ORDER IN WHICH THE ROUTERS ARE DEFINED IS IMPORTANT! # # An address is passed to each router in turn until it is accepted. # ###################################################################### begin routers # domain_literal: # driver = ipliteral # domains = ! +local_domains # transport = remote_smtp # Enable Anti-Virus support with DrWeb. # drweb_router: # driver = accept # condition = "${if eq {$received_protocol}{drweb-scanned}{0}{1}}" # retry_use_local_part # transport = drweb_transport # no_verify mailman_router: driver = accept domains = +mm_domains require_files = MM_LISTCHK condition = first_delivery local_part_suffix_optional local_part_suffix = -bounces : -bounces+* : \ -confirm+* : -join : -leave : \ -owner : -request : -admin transport = mailman_transport dnslookup: driver = dnslookup domains = ! +local_domains transport = remote_smtp ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 no_more majordomo_aliases: driver = redirect allow_defer allow_fail data = ${lookup mysql{SELECT goto FROM alias \ WHERE (address='${local_part}@${domain}' OR address='${local_part}') AND domain='${domain}'}} # domains = example.com file_transport = address_file pipe_transport = majordomo_pipe retry_use_local_part no_rewrite user = majordom system_aliases: driver = redirect allow_fail allow_defer data = ${lookup mysql{SELECT goto FROM alias \ WHERE (address='${local_part}@${domain}' OR address='${local_part}')}} # AND domain='${domain}'}} pipe_transport = address_pipe userforward: driver = redirect allow_fail allow_defer reply_transport = address_reply data = ${lookup mysql{SELECT recipients FROM userforward \ WHERE local_part='${local_part}' AND domain='${domain}'}} ##Vacation Router## # uservacation: # driver = redirect # allow_filter # hide_child_in_errmsg # ignore_eacces # ignore_enotdir # reply_transport = address_reply # no_verify # require_files = /var/spool/exim/vacation/.autoreply.msg # file = /var/spool/exim/vacation/.autoreply.msg # user = mailnull # group = mail # unseen vacation_director: driver = accept domains = ${lookup mysql{SELECT domain FROM vacation WHERE \ domain='${quote_mysql:$domain}' AND \ email='${quote_mysql:$local_part}' OR email='${quote_mysql:$local_part@$domain}' AND \ active='1'}{$value}} transport = vacation_autoreply unseen virtual_localuser: driver = accept domains = ${lookup mysql{SELECT domain from domain WHERE domain='${domain}'}} local_parts = ${lookup mysql{SELECT username from mailbox \ WHERE username ='${local_part}@${domain}' OR username='${local_part}' AND domain='${domain}'}} transport = local_delivery localuser: driver = accept check_local_user # local_part_suffix = +* : -* # local_part_suffix_optional transport = local_delivery cannot_route_message = Unknown user ldapuser: driver = accept # condition = ${if eq{}{${lookup ldapdn{LDAP_AD_MAIL_RCPT} \ # {${local_part}}{no}{yes}}}} condition = ${if eq{}{${lookup ldapdn{LDAP_AUTH \ ldap:///dc=my,dc=domain,dc=net??sub?(&(| \ (objectClass=user) \ (objectClass=organizationalPerson) \ (objectClass=person)) \ (sAMAccountName=${quote_ldap:$local_part}))}}}{no}{yes}} # condition = first_delivery transport = local_delivery ###################################################################### # TRANSPORTS CONFIGURATION # ###################################################################### # ORDER DOES NOT MATTER # # Only one appropriate transport is called for each delivery. # ###################################################################### begin transports remote_smtp: driver = smtp local_delivery: driver = pipe command = /usr/local/cyrus/bin/deliver ${local_part} return_path_add return_output message_prefix = "" user = cyrus mailman_transport: driver = pipe command = MM_WRAP \ '${if def:local_part_suffix \ {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \ {post}}' \ $local_part current_directory = MM_HOME home_directory = MM_HOME user = MM_UID group = MM_GID address_pipe: driver = pipe return_output address_file: driver = appendfile delivery_date_add envelope_to_add return_path_add # address_reply: # driver = autoreply # subject = Re: $h_subject: # headers_remove = Content-Type: text/plain; charset=windows-1251 vacation_autoreply: driver = autoreply once = /var/spool/exim/vacation/once/$local_part once_repeat = 6h user = mailnull group = mail to = ${sender_address} from = "${local_part}@${domain}" log = /var/log/exim/vacation.log subject = "Auto Reply from ${local_part}@${domain}" text = ${lookup mysql {SELECT body FROM vacation \ WHERE domain='${quote_mysql:$domain}' AND \ email='${quote_mysql:$local_part}' OR email='${quote_mysql:$local_part@$domain}'}{$value}} majordomo_pipe: driver = pipe group = daemon return_fail_output user = majordom # This transport is used for checking messages for viruses # drweb_transport: # driver = pipe # check_string = # command = /usr/local/drweb/drweb-exim --conf=/usr/local/etc/drweb/drweb_exim.conf -f ${sender_address} -- ${pipe_addresses} # # If you want use SpamAssassin together with drweb uncomment next line # # transport_filter = /usr/bin/spamc -u drweb -s 500000 # current_directory = "/var/drweb/spool" # escape_string = # group = mail # # headers_add = "X-Virus-Scanned: DrWEB for Exim" # message_prefix = # message_suffix = # path = "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/local/drweb" # no_return_output # no_return_path_add # user = drweb ###################################################################### # RETRY CONFIGURATION # ###################################################################### begin retry # Address or Domain Error Retries # ----------------- ----- ------- * * F,2h,15m; G,16h,1h,1.5; F,4d,6h ###################################################################### # REWRITE CONFIGURATION # ###################################################################### # There are no rewriting specifications in this default configuration file. begin rewrite ###################################################################### # AUTHENTICATION CONFIGURATION # ###################################################################### begin authenticators PLAIN: driver = plaintext public_name = PLAIN server_condition = ${if ldapauth \ {user="${quote_ldap_dn:$auth2}@mydomain.net" \ pass=${quote:$auth3} \ ldap://domain.mydomain.net/}{yes}{no}} server_prompts = : server_set_id = $2 LOGIN: river = plaintext public_name = LOGIN server_prompts = Username:: : Password:: server_condition = ${if ldapauth \ {user="${quote_ldap_dn:$auth1}@mydomain.net" \ pass=${quote:$auth2} \ ldap://domain.mydomain.net/}{yes}{no}} auth_cram_md5: driver = cram_md5 public_name = CRAM-MD5 # server_secret = ${if ldapauth \ # {user="${quote_ldap_dn:$1}@mydomain.net" \ # pass=${quote} \ # ldap://domain.mydomain.net/}{yes}{no}} server_secret = ${lookup mysql{SELECT decrypt FROM users \ WHERE login = '${quote_mysql:${local_part:$1}}' \ AND domain = '${quote_mysql:${domain:$1}}' \ AND status = '1'}{$value}fail} server_set_id = $1 | Âñåãî çàïèñåé: 2 | Çàðåãèñòð. 13-08-2007 | Îòïðàâëåíî: 12:45 13-08-2007 | Èñïðàâëåíî: pervyjnah, 10:31 14-08-2007 |
|