Alıcı posta kutuluranın sınanması

İlk yöntem için acl_rcpt_to ACL'sini kullanacağız. Burada, yerel bir posta kutusu olan bir alıcı adresinin varlığını sınayacağız:

  # Eğer gönderici adresi boşsa, bir posta kutusu olmayan kullanıcılara
  # (örn, postmaster, webmaster, v.s.) gelen postayı reddediyoruz.
  # Bu kullanıcılar posta göndermezler, dolayısıyla onlara bir posta
  # (teslimat durum bildirimi) dönemez.
  #
  deny
    message     = This address never sends outgoing mail. \
                  You are responding to a forged sender address.
    log_message = bogus bounce for system user <$local_part@$domain>
    senders     = : postmaster@*
    domains     = +local_domains
    !posta kutusu sınaması

Talihsizliğe bakın ki, postanızı nasıl teslim ettiğinize bağlı olarak posta kutusu sınaması için yapacağımız işlem farklı olacak (örn, imlemeli zarf göndericisi adresleri için alıcı adresinin eşit işaretinden önceki kısmını ayırmak gibi):

  • Eğer posta kutusu isimleri olarak sunucunuzdaki kullanıcıların hesapları kullanılmışsa, alıcı isimleri ile normal kullanıcıların kullanıcı kimlikleri (500 ile 60000 arasında) karşılaştırılabilir:

      set acl_m9 = ${extract{1}{=}{${lc:$local_part}}}
      set acl_m9 = ${extract{2}{:}{${lookup passwd {$acl_m9}{$value}}}{0}}
      condition  = ${if and {{>={$acl_m9}{500}} {<${acl_m9}{60000}}} {true}}
    

  • Posta teslimatlarınızı Cyrus IMAP yapıyorsa, posta kutularının varlığına bakmak için mbpath komut satırı aracını kullanabilirsiniz. Bunun için, Exim'in posta kutularını sınama yetkisine sahip olmasını sağlamanız gerekir (örn, onu cyrus grubuna ekleyebilirsiniz:
    # adduser exim4 cyrus).

      set acl_m9 = ${extract{1}{=}{${lc:$local_part}}}
      condition  = ${run {/usr/sbin/mbpath -q -s user.$acl_m9} {true}}
    

  • Tüm postaları teslim etmesi için bir dış makineye yolluyorsanız, bu makinenin postayı kabul edip etmeyeceğine karar verebilmek için bir Alıcı Varlık Sınaması uygulamanız gerekebilir. Varlık sınaması için özgün zarf göndericisi adresini aynen kullanmanız gerekir:

      verify = recipient/callout=use_sender
    

Postanın yerel olarak teslimatı durumunda, bu posta kutusu sınamaları yönlendiricilerde (routers) uygulananların birer tekrarı olacağından ve posta teslimat mekanizması bizim siteye özel olacağından, bu işlem bizim gibi mükemmelliyetçiler için biraz zorlu bir süreç olur. Bu bakımdan, şimdi başka bir yönteme bakacağız.