[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Begrenzung mit fetchmail



Das Problem eines Mail-Überlaufs glaube ich mit meinen begrenzten
Kenntnissen einigermaßen brauchbar mit einer Kombination aus mailfilter,
fetchmail, exim und mutt gelöst zu haben.

Als Beispiel für diesen Beitrag verwende ich 3 eigene ISP Mail Accounts:

	1.) für meine private Mail
	2.) für die deutsche Debian-Liste
	3.) für die englische Debian-Liste

Mit 'fetchmail' hole ich diese Mails auf meinen localen Rechner.

Den genannten externen ISP Accounts entsprechen bei mir 3 locale User
Accounts: Jedes ISP Account wird bei mir local unter einer eigenen
User-ID in '/var/mail/<uid>' abgelegt:

Um meine private Mail zu lesen, logge ich mich als User "wwf" ein, so
daß 'mutt' automatisch auf '/var/mail/wwf' zugreift. Entsprechend logge
ich mich für meine Debian-Listen als wwf0 und wwf1 ein.

Für meine Mailverarbeitung verwende ich ein zentrales bash script, das
gewöhnlich cron-gesteuert aufgerufen wird, nachdem mein Rechner von
einer externen simplen 220V-Schaltuhr gestartet wurde.

Der entscheidende Vorteil für mich liegt darin, daß jedes ISP Account
getrennt für sich verarbeitet wird:

	a) 'mailfilter' mit Account-spezifischer 'mailfilterrc'
	b) 'fetchmail'  mit Account-spezifischer 'fetchmailrc'

Auf diese Weise genügen mir wenige spezifische Filterbedingungen, um
fast sämtliche Spams bereits beim Provider abzufangen, so daß meine
online-Zeit schlank bleibt.

Z.B. löscht mein 'mailfilter' im ISP-Account für die deutsche Debian
Liste mit folgenden 2 Filterbedingungen fast sämtliche Spams:

DENY<>^X-Mailing-List:.*debian-user-german@lists.debian.org
DENY=^Content-Type:.*text/html

(Lösche jede Mail, die unter der Rubrik "X-Mailing-List:" NICHT
	"debian-user-german@lists.debian.org" eingetragen hat;
 Lösche jede Mail, die unter der Rubrik "Content-Type:"
 	"text/html" eingetragen hat, also einen html-Text enthält.)

Solche spezifischen Filter kann ich nur anwenden, wenn ich nicht eine
einzige, allgemeine 'mailfilterrc' sondern mehrere, an die verschiedenen
ISP-Accounts angepaßte 'mailfilterrc's verwende.

Meine Mail unter verschiedenen User-Ids abzulegen, erlaubt mir, mich
parallel unter diesen User-IDs einzuloggen, so daß ich zwischen meiner
privaten Mail und den öffentlichen Debian Listen hin- und herschalten
kann. Vor allem brauche ich meine umfangreichen Listen-Mails nicht mehr
local nach Spam zu durchsuchen, da hier fast keine Spams durchkommen;
bei meiner privaten Mail finden sich (bislang) manchmal 1 - 3 Spams,
aber die sind bei meinem geringen privaten Mailaufkommen schnell
entdeckt.

(Mein genanntes cron-gesteuertes bash script begrenzt die Downloadgröße
auf 16K, um eventuell durchgerutschte Riesen-Spams zu vermeiden; rufe
ich das script interaktiv auf, fragt es nach dem ersten Durchgang nach,
ob das ganze noch einmal für Mail jeder Größe wiederholt werden soll.)

Insgesamt sammle ich meine Listen-Mails in Monatsdateien, die ich später
mit gzip komprimiere. Meine Account-spezifischen 'mailfilter'-Logdateien
werden unter '/var/log/mailfilter/' abgelegt, wo sie 'logrotate'
unterliegen. Hier sehe ich gelegentlich nach, ob doch einmal eine gute
Mail fälschlich gelöscht wurde.

Sollte sich jemand für die dargestellte Mailverarbeitung näher
interessieren, bin ich bereit, meine relevanten Dateien als 'tar'-Anhang
(der die Verzeichnisse berücksichtigt) in die Liste zu stellen, wobei
die meisten dieser Dateien (englisch) kommentiert sind; eine zentrale
Darstellung habe ich noch nicht zuwege gebracht.

Für Verbesserungsvorschläge bin ich natürlich dankbar; insbesondere
dürften so viele uid's pro Anwender auf öffentlichen Workstations nicht
möglich sein.



Reply to: