[Eisfair] fetchmail/exim - Empfangsbestaetigung, auto.-reminder wg. Mega-Mailgroesse
D. Oezbilen
oezbilen at gmx.net
So Apr 19 06:39:04 CEST 2020
Zu @a) konnte ich mit den folgenden Zeilen in .forward diese Funktion
abbilden:
Wenn eine Nachricht groesser als (is above) 10k eintrifft, wird sie per
reply an den Absender mit etwas formatiertem Text rueck gesandt und
unter .imapmail/10k abgeliefert, genauso koennte man diese ins Nichts
(save /dev/null) ausliefern.
Die reply-Mail hat im Subject dies:
Diese Mail ist zu gross, ueberschreitet mit 167163 Bytes die max.
Empfangsgroesse v. 10kB.
Im corpus der Email ist folgendes:
#-----------------------------------------------------------------
Sehr geehrte/e Frau/Herr "Nickname." <mailadresse>
ihre Mail v. Sun, 19 Apr 2020 06:10:25 +0200,
mit dem Subject: TEST 230kB
und
der Mailgroesse: 319824 Bytes wird
*nicht*
verarbeitet, weil sie aufgrund der
*Mailgroesse (319824 Bytes) nicht zugestellt*
werden kann. Wir bitten um Kenntnisnahme.
Dies ist eine automatisch generierte Mail vom
Mailsystem Exim 4.80.1 der Fa. xyz + Partner.
#-----------------------------------------------------------------
Ich habe die entsprechenden Zeilen erst nach:
#-----------------------------------------------------------------
# Exim filter
logfile $home/eximfilter.log
logwrite "$tod_log $header_From: $header_Subject: $header_X-Spam-Flag:"
if error_message
then finish
endif
# - OK -
if $h_Subject: contains "[*** SPAM ***]"
then
save "$home/.imapmail/Malware/SPAM"
finish
endif
if $h_Subject: contains "[*** VIRUS ***]"
then
save "$home/.imapmail/Malware/SPAM"
finish
endif
if $header_X-Spam-Flag: is "YES"
then
save "$home/.imapmail/Malware/SPAM"
finish
endif
if $header_Subject: contains [--SPAM--]
then
save "$home/.imapmail/Malware/SPAM"
finish
endif
if $header_Subject: contains [--VIRUS--]
then
save "$home/.imapmail/Malware/VIRUS"
finish
endif
#-----------------------------------------------------------------
eingebaut, damit nicht auf jede Mail, die evtl. parasitaer (und > 10k)
ist geantwortet wird.
Alles nach text "Sehr.... -> der Fa. X \+ Y." ist ein Versuch der
Formatierung, damit der Mailinhalt optisch nicht ineinander geraet, s.o.
Es soll ja klar sein, *warum* die Email nicht angenommen, nicht
verarbeitet wurde.
#################################
# als test fuer Mails groesser 10k
if $message_size is above 10k
then
mail to $reply_address
subject "Diese Mail ist zu gross, ueberschreitet mit $message_size
Bytes 10kB."
from $local_part@[offizielle-domain]
text "Sehr geehrte/e Frau/Herr $header_from\n\
\n\
ihre Mail v. \t\\t\$tod_full,\n\
mit dem Subject:\t\$h_subject\n\
und\n\
der Mailgroesse:\t\$message_size Bytes wird\n\
\n\
\t\\t\*nicht*\t\\n\
\n\
verarbeitet, weil sie aufgrund der \n\
\n\
*Mailgroesse ($message_size Bytes) nicht zugestellt*\t\\n\
\n\
werden kann. Wir bitten um Kenntnisnahme.\n\
\n\
Dies ist eine automatisch generierte Mail vom\n\
Mailsystem Exim $version_number der Fa. X \+ Y."
save "$home/.imapmail/10k"
# save /dev/null
finish
endif
#################################
Leider kann ich den Tag personal nicht einbauen, denn personal (wie bei
vacation) soll(te) sicherstellen, dass genau dieser Benutzer die Mail
bekommen soll und nicht Gruppen/Lists etc.
Fragen: Liesse sich das, wenn ja wo systemweit fuer alle Accounts, aber
nicht fuer parasitaere Mails einstellen?
Evtl in /var/spool/exim? Mit .../custom-systemfilter.size?
Da ich nach dem gleichen Muster auch eine Empfangsbestaetigung per
.forward auf Benutzerbene aufbauen koennte, ist auch hier die Frage, wie
diese Funktion systemweit, zentral (dann v. mailer-daemon/system zu
replien) zu loesen waere.
Danke
Oez.
Mehr Informationen über die Mailingliste Eisfair