acl_connect

# Bu erişim denetim listesi gelen bağlantının başlangıcında
# kullanılır. Bu sınamalar bağlantı kabul ya da red edilinceye
# kadar sırayla yapılır.

acl_connect:
  # Gecikme uygularken başlangıç olarak kullanmak üzere o anki zaman
  # bilgisini kaydediyoruz.
  warn
    set acl_m2  = $tod_epoch


  # Posta yerel SMTP üzerinden alınmışsa (yani, TCP/IP bağlantısı
  # ile gelmiyorsa), kabul ediyoruz. Bunu boş bir konak alanını
  # sınayarak yapacağız. Ayrıca, postalarını rölelediğimiz
  # konaklardan ve yerel arabirimlerden gelen postaları da kabul edeceğiz.
  accept
    hosts       = : +relay_from_hosts


  # Eğer bağlanan konak DNS karalistelerinde kayıtlıysa, $acl_c1'e
  # bir uyarı iletisi kaydedeceğiz. Bu iletiyi daha sonra posta
  # başlığına ekleyeceğiz. Varlığı bize geciktirme uygulayacağımızı
  # belirtecek.
  #

  warn
    !hosts      = ${if exists {/etc/mail/whitelist-hosts} \
                              {/etc/mail/whitelist-hosts}}
    dnslists    = list.dsbl.org : \
                  dnsbl.sorbs.net : \
                  dnsbl.njabl.org : \
                  bl.spamcop.net : \
                  dsn.rfc-ignorant.org : \
                  sbl-xbl.spamhaus.org : \
                  l1.spews.dnsbl.sorbs.net
    set acl_c1  = X-DNSbl-Warning: \
                  $sender_host_address is listed in $dnslist_domain\
                  ${if def:dnslist_text { ($dnslist_text)}}


  # Benzer şekilde, gönderici konağın DNS sorgusu başarısız olursa
  # (örn, rDNS kaydı yoksa veya belirtilen isim bağlantı kudulan IP
  # ile eşleşmiyorsa), $acl_c1'e bir uyarı iletisi kaydedeceğiz. Bu
  # iletiyi daha sonra posta başlığına ekleyeceğiz.
  warn
    condition   = ${if !def:acl_c1 {true}{false}}
    !verify     = reverse_host_lookup
    set acl_m9  = Reverse DNS lookup failed for host $sender_host_address
    set acl_c1  = X-DNS-Warning: $acl_m9


  # Bağlantıyı kabul ediyoruz, fakat $acl_c1'de evvelce kaydedilmiş bir
  # ileti varsa, göndericiyi 20 saniye dolana kadar bekletiyoruz.
  accept
    set acl_m2  = ${if def:acl_c1 {${eval:20 + $acl_m2 - $tod_epoch}}{0}}
    delay       = ${if >{$acl_m2}{0}{$acl_m2}{0}}s