primary_hostname = dkws.org.ua domainlist local_domains = ${lookup mysql{SELECT domainname FROM domains \ WHERE domainname='${domain}' AND \ (type='LOCAL' OR type='VIRTUAL')}} domainlist relay_to_domains = ${lookup mysql{SELECT domainname FROM domains \ WHERE domainname='${domain}' AND type='RELAY'}} hostlist relay_from_hosts = 127.0.0.1 : 192.168.1.0/24 acl_smtp_rcpt = acl_check_rcpt acl_smtp_data = acl_check_data av_scanner = clamd:/var/run/clamav/clamd qualify_domain = dkws.org.ua log_selector = \ +all_parents \ +lost_incoming_connection \ +received_sender \ +received_recipients \ +smtp_confirmation \ +smtp_syntax_error \ +smtp_protocol_error \ -queue_run allow_domain_literals = false never_users = root:daemon:bin host_lookup = * rfc1413_hosts = * rfc1413_query_timeout = 0s ignore_bounce_errors_after = 30m timeout_frozen_after = 30d freeze_tell = postmaster auto_thaw = 1h message_size_limit = 16M smtp_accept_max = 50 smtp_accept_max_per_connection = 50 smtp_connect_backlog = 50 smtp_accept_max_per_host = 25 split_spool_directory = true remote_max_parallel = 15 hide mysql_servers = localhost/exim/exim/123455678 begin acl acl_check_rcpt: accept hosts = : warn set acl_m0 = 0s warn hosts = !+relay_from_hosts:!213.234.195.226/32 set acl_m0 = 30s warn condition = ${if and {\ {match{$sender_host_name}\ {\N^[-a-z]*\d{0,3}[-a-z]*\.?[-a-z]*\d{0,3}[-a-z]*\.\w+$\N}} \ {!eq{$acl_c0}{outblaze_helo}} \ }{yes}{no}} set acl_m0 = 1s warn condition = ${if and {\ {match{$sender_helo_name}{\N^\w*\.\w{3}$\N}} \ {eq{$acl_c1}{}} \ }{yes}{no}} set acl_m0 = 99s warn condition = ${if and {\ {!match{$sender_host_name}{\N.+.outblaze.com$\N}} \ {eq{$acl_c0}{outblaze_helo}} \ }{yes}{no}} set acl_m0 = 99s warn condition = ${if and {\ {!match{$sender_host_name}{\N.+.outblaze.com$\N}} \ {eq{$acl_c2}{outblaze_domain}} \ }{yes}{no}} set acl_m0 = 99s warn condition = ${if or {\ {eq{$sender_address}{}} \ {eq{$acl_m1}{0s}} \ } {yes}{no}} set acl_m0 = 0s warn logwrite = Delay $acl_m0 for $sender_host_name \ [$sender_host_address] with HELO=$sender_helo_name. \ Mail from $sender_address to $local_part@$domain. set acl_m1 = 0s delay = $acl_m0 deny local_parts = ^.*[@%!/|] : ^\\. # domains = +local_domains require verify = sender 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|pool|peer|dhcp} \ {yes}{no}} deny message = host is listed in $dnslist_domain dnslists = sbl.spamhaus.org : \ relays.ordb.org : \ opm.blitzed.org : \ proxies.blackholes.easynet.nl accept domains = +local_domains endpass message = unknown user verify = recipient accept domains = +relay_to_domains endpass message = unrouteable address verify = recipient accept hosts = +relay_from_hosts accept authenticated = * deny message = RELAY NOT PERMITTED acl_check_data: deny message = Go Away! Eat Your Spam Self! condition = ${if match{$message_body} \ {105[-_]*51[-_]*86|778[-_]*98[-_]*94} \ {yes}{no}} deny malware = * message = Virus found ($malware_name) accept begin routers dnslookup: driver = dnslookup domains = ! +local_domains transport = remote_smtp ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 : 192.168.1.0/24 no_more system_aliases: driver = redirect allow_fail allow_defer data = ${lookup mysql{SELECT recipients FROM aliases WHERE \ to_user='${quote_mysql:$local_part@$domain}' OR \ to_user='${quote_mysql:@$domain}'}} mysqluser: driver = accept condition = ${if eq{} {${lookup mysql{SELECT home FROM users \ WHERE id='${quote_mysql:$local_part@$domain}' OR \ id='${quote_mysql:@$domain}'}}}{no}{yes}} transport = mysql_delivery begin transports remote_smtp: driver = smtp mysql_delivery: driver = appendfile check_string = "" create_directory delivery_date_add directory = ${lookup mysql{SELECT CONCAT(home, '${local_part}@${domain}')\ FROM users WHERE id='${local_part}@${domain}'}} directory_mode = 770 envelope_to_add group = mail maildir_format maildir_tag = ,S=$message_size message_prefix = "" message_suffix = "" mode = 0600 address_pipe: driver = pipe return_output address_file: driver = appendfile delivery_date_add envelope_to_add return_path_add address_reply: driver = autoreply begin retry * * F,2h,15m; G,16h,1h,1.5; F,4d,6h begin rewrite begin authenticators auth_plain: driver = plaintext public_name = PLAIN server_condition = ${lookup mysql{SELECT id FROM users \ WHERE id = '${quote_mysql:$1}' \ AND passwd = '${quote_mysql:$2}' \ AND active = 'Y'}{yes}{no}} server_prompts = : server_set_id = $2 auth_login: driver = plaintext public_name = LOGIN server_condition = ${lookup mysql{SELECT id FROM users \ WHERE id = '${quote_mysql:$1}' \ AND passwd = '${quote_mysql:$2}' \ AND active = 'Y'}{yes}{no}} server_prompts = Username:: : Password:: server_set_id = $1 auth_cram_md5: driver = cram_md5 public_name = CRAM-MD5 server_secret = ${lookup mysql{SELECT passwd FROM users \ WHERE id = '${quote_mysql:$1}' \ AND active = 'Y'}{$value}fail} server_set_id = $1