|
# 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
|