# Bu erişim denetim listesi gelen bir SMTP aktarımında RCPT
# komutu için kullanılır. Bu sınamalar alıcı adresi kabul
# ya da red edilinceye kadar sırayla yapılır.
acl_rcpt_to:
# Posta yerel SMTP üzerinden alınmışsa (yani, TCP/IP bağlantısı
# ile gelmiyorsa) kabul et. Bunu boş bir konak alanını
# sınayarak yapacağız. Ayrıca, postalarını rölelediğimiz
# konaklardan gelen postaları da kabul edeceğiz.
#
# Alıcı doğrulamasını burada atlıyoruz, çünkü çoğu durumda
# istemciler kullanıcıların posta istemcileridir ve SMTP
# hata iletileri ile ne yapacaklarını bilmezler.
#
accept
hosts = : +relay_from_hosts
# İleti, kimlik kanıtlaması yapılan bir bağlantı üzerinden
# geliyorsa kabul ediyoruz. Yine, bu iletiler kullanıcıların posta
# istemcilerinden geldiklerinden alıcı doğrulaması yapmıyoruz.
#
accept
authenticated = *
######################################################################
# DNS sınamaları
######################################################################
#
# Bu sınamaların sonuçları arabelleğe alınır, böylece çok sayıda alıcı
# olduğunda çok sayıda DNS sorgusu yapılmasına gerek kalmaz.
#
# Eğer bağlanan konak seçtiğimiz birkaç DNS karalistesinde kayıtlı
# ise iletiyi reddediyoruz. Bu listeleri seçerken dikkatli olun,
# çoğu yanlış olumlama yapar ve/veya kara listeden silme konusunda
# kuralları iyi belirlenmemiştir.
#
deny
dnslists = dnsbl.sorbs.net : \
dnsbl.njabl.org : \
cbl.abuseat.org : \
bl.spamcop.net
message = $sender_host_address is listed in $dnslist_domain\
${if def:dnslist_text { ($dnslist_text)}}
# Eğer gönderici konağın ters DNS sorgusu başarısız olursa
# (rDNS kaydı yoksa veya sonuçlar normal DNS sorgusuyla eşleşmiyorsa)
# iletiyi reddediyoruz.
#
deny
message = Reverse DNS lookup failed for host $sender_host_address.
!verify = reverse_host_lookup
######################################################################
# Selamlaşma sınamaları
######################################################################
# Bağlanan konak selamlaşma sırasında bir IP adresi belirtmişse,
# postayı reddediyoruz.
#
deny
message = Message was delivered by ratware
log_message = remote host used IP address in HELO/EHLO greeting
condition = ${if isip {$sender_helo_name}{true}{false}}
# Bağlanan konak selamlaşma sırasında bizim isimlerimizden birini
# kullanmışsa reddediyoruz.
#
deny
message = Message was delivered by ratware
log_message = remote host used our name in HELO/EHLO greeting.
condition = ${if match_domain{$sender_helo_name}\
{$primary_hostname:+local_domains:+relay_to_domains}\
{true}{false}}
# Bağlanan konak selamlaşma sırasında kendini tanıtmamışsa
# reddediyoruz.
#
deny
message = Message was delivered by ratware
log_message = remote host did not present HELO/EHLO greeting.
condition = ${if def:sender_helo_name {false}{true}}
# HELO doğrulaması başarısız olmuşsa, ileti başlığına bir
# X-HELO-Warning: satırı ekliyoruz.
#
warn
message = X-HELO-Warning: Remote host $sender_host_address \
${if def:sender_host_name {($sender_host_name) }}\
incorrectly presented itself as $sender_helo_name
log_message = remote host presented unverifiable HELO/EHLO greeting.
!verify = helo
######################################################################
# Gönderici adresi sınamaları
######################################################################
# Gönderici adresini doğrulatamazsak iletiyi reddedeceğiz.
#
# "callout" seçeneğini isterseniz silebilirsiniz. Özellikle, postanızı
# doğrudan değil de göstermelik sunucu (smarthost) olarak
# gönderiyorsanız, bu seçenek anlamsız olacaktır.
#
# Başarısız varlık doğrulamalarının ayrıntıları genelde 550 yanıtları
# içerir; bunları yoksaymak için "sender/callout" dizgesini
# "sender/callout,no_details" olarak değiştirebilirsiniz.
#
deny
message = <$sender_address> does not appear to be a \
valid sender address.
!verify = sender/callout
######################################################################
# Alıcı adresi sınamaları
######################################################################
# Yerel kısım @ % / | ! karakterlerinden birini içeriyorsa,
# iletiyi reddediyoruz. Bunlar normal yerel kısımlarda çok nadir
# görülür, çoğunlukla röleleme sınırlamalarını aşmaya çalışanlarca
# kullanılır.
#
# Ayrıca, yerel kısım bir nokta ile başlıyorsa da reddediyoruz.
# Boş bileşenler RFC 2822'de kuraldışıdır, fakat Exim bu yaygın
# olduğundan bunlara izin verir. Buna rağmen, bir nokta ile
# başlayan bir yerel kısım bir dosya ismi olarak kullanılmışsa
# (örneğin, bir posta listesi), sorunlara yol açabilir.
#
deny
local_parts = ^.*[@%!/|] : ^\\.
# Zarf göndericisi adresi boş olduğu halde iletinin birden fazla alıcısı
# varsa, bağlantıyı kesiyoruz. Meşru teslimat durum bildirimleri asla
# birden fazla adrese gönderilmez.
#
drop
message = Legitimate bounces are never sent to more than one \
recipient.
senders = : postmaster@*
condition = $recipients_count
# Alıcı adres bizim postalarını kabul ettiğimiz alanlardan birine
# ait değilse, iletiyi reddediyoruz.
#
deny
message = relay not permitted
!domains = +local_domains : +relay_to_domains
# Alıcının geçerli bir posta kutusu yoksa iletiyi reddediyoruz.
# Eğer posta kutuları sistemimizde bulunmuyorsa (alıcı alanadı
# için yedek posta alıcısı isek), bir varlık sınaması yaparız;
# ama hedef sunucu yanıt vermezse postayı mecburen kabul edeceğiz.
#
deny
message = unknown user
!verify = recipient/callout=20s,defer_ok
# Aksi takdirde, alıcı adres geçerlidir.
#
accept