Amavisd-new'i yalnızca belirli gönderenlerde / sunucularda tarama için nasıl yapılandırırım?


10

Amavisd-new ürününü yalnızca belirli istemcilerde (IP'ler, CIDR'ler veya ana bilgisayar adları) veya alternatif olarak gönderenin e-posta etki alanında Spam taraması yapacak şekilde nasıl yapılandıracağımı bilmek istiyorum.

Bunu alıcının posta adresinde yapmanın mümkün olduğunu biliyorum ancak gönderenin posta adresi için nasıl yapılacağını bilmiyorum. Hatta bunu politika bankalarıyla bir alıcının IP adresinde bile yapmak mümkündür. Ancak yaklaşımım alıcıdan bağımsız olmalı ve yalnızca göndereni aktarmalıdır.

Yapmak istediğim sadece Yahoo, Google, Hotmail ve diğer büyük gönderenlerden gelen postaları taramak. Bu nedenle, hangi göndericilerin gözlenmesi gerektiğinin yapılandırılması, yapılmaması gerekenlerden daha kolaydır.

MTA tarafında başarmanın daha kolay olduğunu biliyorum, ama bu sorunun bir parçası değil çünkü zaten MTA tarafında bir çözüme gidiyorum. Bunu amavisd-new'de yapmak istiyorum. Ve göndericilerin beyaz listeye nasıl yerleştirileceğini bilmek yardımcı olmaz, çünkü bu hala postanın tüm taramalardan geçtiği, ancak yüksek bir negatif puan aldığı anlamına gelir. Büyük oyuncular tarafından gönderilmedikçe postalar taranmamalıdır.

Peki amavisd-new içindeki hangi parametreler belirli gönderenler ve sadece bunlar için taramayı mümkün kılan doğru parametrelerdir?


Bu örnekleri gördün mü ? Eğer öyleyse, sorun ne?
wabbit

@ syneticon-dj Onları tanıyorum. Bu zaten sahip olduğum çözüm (yukarıdaki dördüncü paragraf). Ama sıra filtreleri sonra ve ben daha önce kuyruk filtresi olarak çalıştırmak için amavis gerekir ve sonra bu çalışmaz. Ve bu belirli gönderenleri atlamaktır; Tam tersinin sadece belirli gönderenleri taramasını ve geri kalanını atlamasını istiyorum.
mailq

Neden kuyruktan önce çalışmadığını anlayamıyorum. Ve sadece belirli gönderenleri taramak ve başka bir şeyi taramak için mantığı tersine çevirmek sadece politika bankalarınız için yapılandırma ayarlarını tersine çevirmektir - varsayılan yapılandırma olarak bypass _ * _ checks_maps değişkenlerini ayarlayın ve haritaların yahoo.com politika bankanız için boş olduğundan emin olun.
wabbit

Beyaz liste neden SpamAssassin'i çağırmamak için çalışmıyor? Amavisd.conf-sample'dan: "İletinin TÜM alıcıları göndereni beyaz veya kara listeye alırsa, spam taraması (SpamAssassin'i çağırır) zamandan tasarruf ederek atlanır." @Whitelist_sender_maps kullanırken "ALL" alıcıları etkilenmelidir, değil mi?
sebokopter

Yanıtlar:


1

Amavisd beyaz listesi belirli alan adları hariç tümü

İhtiyacınız olan şey , normal liste görünümüyle ( burada ) beyaz liste_sender_map ( burada )

Domain.X hariç tüm beyaz listeler

@whitelist_sender_maps = (new_RE (
    qr'@(?!(gmail\.com$|hotmail\.com$|aol\.com$))'i
));

X'in Etki Alanı ve Alt Etki Alanı hariç tümü beyaz liste

@whitelist_sender_maps = (new_RE (
    qr '[@.] ((gmail \ .com $ |?! hotmail \ .com $ | aol \ .com $))' i
));

değiştirme

Örneğin, beyaz liste istisnasına msn.com ekleme

@whitelist_sender_maps = (new_RE (
    qr '[@.] ((gmail \ .com $ |?! hotmail \ .com $ | aol \ .com $ | msn \ .com $))' i
));

ÇOKLU KURALLARA KURABİLECEĞİNİ KIRMAYIN, İSTEDİĞİNİZ

Kuralları 2 veya daha fazla satırda kırmak HER ŞEYİ BEKLEYECEK !!

(Mümkünse bu bölümü kırmızıya koyacağım)

Basit bir ifadeyle, beyaz liste ardışık bir kontroldür, her seferinde bir satır / kural.

Aşağıdaki YANLIŞ örneğe bakalım

# BU KOPYALAMAYIN
@whitelist_sender_maps = (new_RE (
    qr'@(?!(gmail\.com$|hotmail\.com$))'i,
    qr'@(?!(aol\.com$|msn\.com$))'i
));
# BU KOPYALAMAYIN
  1. Msn.com'dan herhangi bir şey geçecektir, çünkü 1. satır DOĞRU ve kontrol durağı döndürür .
  2. Gamil.com'dan herhangi bir şey geçecek, çünkü 1. satırın başarısız olmasından sonra, amavisd, 2. satıra taşınacak ve bu da TRUE döndürecektir .
  3. Listede olmayan alan adı ne olacak? Geçecekler. Bu kuralın amacı!

Tüm gönderenleri beyaz listeye eklediniz!

Perl Test Programı

#! / Usr / bin / perl

sıkı kullanın;

# Etki Alanını ve Alt Etki Alanını Reddet
#my $ REGinfo = '== Etki Alanını ve Alt Etki Alanını Reddet =='
#my $ REG = qr '[@.] (?! (gmail \ .com $ | hotmail \ .com $ | aol \ .com $))' i;

# Yalnızca tam alan adı
my $ REGinfo = '== Yalnızca Tam Alan Adı ==';
benim $REG=qr'@(?!(gmail\.com$|hotmail\.com$|aol\.com$))'i;

$ REGinfo yazdır. "\ n";
'$ REG =' yazdırabilirsiniz. $ REG. "\ n \ n";

@strTest = (
    'Test@hotmail.com'
    'Test@gmail.com'
    'Test@aol.com'
    'Test@msn.com'
    'Test@yahoo.com'
    'Test@yahoo.aol.com'
    'Aol.com@somethingelse.com'
);

$ i (0 .. $ # strTest) için {
    if ($ strTest [$ i] = ~ $ REG) {
        print ("Pass $ strTest [$ i] \ n");
    }
    Başka {
        print ("Başarısız $ strTest [$ i] \ n");
    }
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.