Sendmail access_db-Konfiguration. Wie wird sie verwendet und wie schreibt man sie?

Sendmail access_db-Konfiguration. Wie wird sie verwendet und wie schreibt man sie?

Ich lese gerade über die access_db-Funktion von sendmail. Sie scheint eine vielversprechende Methode zu sein, um Spam vorzubeugen.

Ich habe mehrere Fragen zur Verwendung von access_db. Im Grunde gebe ich also einen Satz Regeln in der Access-Datei an und sendmail überprüft diese Datenbank, um festzustellen, ob es etwas bezüglich einer E-Mail unternehmen soll.

  1. Was ist mit den E-Mails, die keiner der angegebenen Regeln entsprechen? Was ist das Standardverhalten?
  2. Kann ich reguläre Ausdrücke verwenden? Funktioniert beispielsweise „An:*@spam.com REJECT“?
  3. Wenn ich nur „paypal.com RELAY“ habe, bedeutet das, dass mein Sendmail E-Mails akzeptiert und sendet, die von paypal.com stammen oder für paypal.com bestimmt sind?

Vielen Dank!

Antwort1

  1. Wenn eine Regel nicht mit den Regeln in access_db übereinstimmt, hat dies keinen Einfluss auf die Annahme oder Ablehnung der Nachricht. Die Nachricht wird weiterhin von den übrigen Regeln verarbeitet.
  2. access_db (und alle Platzhalter, aber keine regulären Ausdrücke) wird beschriebenHier. Wenn Sie reguläre Ausdrücke verwenden möchten, müssen Sie entweder eigene Regelsätze schreiben, die das Verhalten von access_db nachahmen, aber eine Karte mit regulären Ausdrücken verwenden, oder einen Milter verwenden, wieMIMEDefang, oderMilter-Regex.
  3. Am besten verwenden Sie Regeln, die mit einfachen IP-Adressen oder Domänen beginnen From:oder Connect:diese ersetzen, damit Sie nicht darüber nachdenken müssen, ob sich die Regel auf den Domänennamen des Hosts bezieht, der eine Verbindung zu Ihrem Host herstellt, oder auf den Domänennamen der Absenderadresse (dies sind nicht unbedingt dieselben).

Antwort2

So verwenden Sie einen regulären Ausdruck in Sendmail

Ich wurde von allen numerischen Domänen, wie zum Beispiel 3456.com, mit Spam bombardiert. Zuerst habe ich 10.000 Einträge zu access.db hinzugefügt, das war lächerlich.

Sie können in Ihrer Datei sendmail.mc unten nach den Mailern einen regulären Ausdruck wie diesen hinzufügen.

LOCAL_CONFIG
Kallnumbers regex -a@MATCH @[0-9]+\.com
LOCAL_RULESETS
SLocal_check_mail
R$+     $: $(allnumbers $1 $)
R@MATCH     $#error $: "550 Rejected."

Sie können das meiste wortwörtlich kopieren, ändern Sie einfach ein paar Dinge.

Definieren Sie Ihren regulären Ausdruck und geben Sie ihm einen Bezeichner, stellen Sie ihm das Präfix K „Mein Bezeichner ist“ allnumbersund „Mein regulärer Ausdruck ist“ voran.[0-9]+\.com

   Kallnumbers regex -a@MATCH @[0-9]+\.com

die letzten beiden definieren das Spiel und die ausgeführte Aktion

R$+     $: $(allnumbers $1 $)
R@MATCH     $#error $: "550 Rejected.

Mir ist klar, dass das sehr cf aussieht, aber es passt in den MC.

verwandte Informationen