Ik heb nu een filter die wordt aangeroepen vanuit /etc/exim/config met
message_filter = ....
Dit werkt goed, op een ding na. Als er meerdere adressen in het To: veld staan gaat het mis...
Ik zou eigenlijk een foreach-loop willen runnen op het To-veld, maar dat gaat niet.
message_filter = ....
code:
1
2
3
4
5
6
7
8
9
10
| # Exim filter
# Geen back-up van foutmeldingen
if error_message then finish endif
if first_delivery then
if $h_to does not contain "mijndomein.nl" then
unseen save /usr/local/mail/backup/mail/${domain:$h_to:} 0606
endif
endif |
Dit werkt goed, op een ding na. Als er meerdere adressen in het To: veld staan gaat het mis...
Ik zou eigenlijk een foreach-loop willen runnen op het To-veld, maar dat gaat niet.
En ik wil dus voor ieder adres in het To of CC veld een backupje wegschrijven. Hoe pak ik dit aan ?if foranyaddress $h_to: ( $thisaddress matches ^\d{8}@ ) then ...
When the overall condition is true, the value of $thisaddress in the commands that follow then is the last value it took on inside the loop. At the end of the if command, its value is reset to what it was before. It is best to avoid the use of multiple occurrences of foranyaddress, nested or otherwise, in a single if command, if the value of $thisaddress is to be used afterwards, because it isn''t always clear what the value will be. Nested if commands should be used instead.
Ik heb hier nooit meer een reply op gehad, de vraag heb ik nog steeds...
Het lijkt erop dat ik vanuit een exim filter niet door alle adressen in de To, CC, en BCC fields kan lopen, om voor alle adressen een backup te maken...
Ik heb eens gekeken naar shadow_backup voor local deliveries... (Uitgaande mail back-uppen heeft een hogere prioriteit, maar als dit werkt, kan ik zelf eens in de sources zoeken hoe ze dat aanpakken...)... Dit werkt echter alleen wanneer er maar 1 adres in het To-field staat... AAAARGH
Het moet toch mogelijk zijn zou ik zeggen...
Kan dit gemakkelijk met Qmail ? dan stap ik wel over naar Qmail...
Het lijkt erop dat ik vanuit een exim filter niet door alle adressen in de To, CC, en BCC fields kan lopen, om voor alle adressen een backup te maken...
Ik heb eens gekeken naar shadow_backup voor local deliveries... (Uitgaande mail back-uppen heeft een hogere prioriteit, maar als dit werkt, kan ik zelf eens in de sources zoeken hoe ze dat aanpakken...)... Dit werkt echter alleen wanneer er maar 1 adres in het To-field staat... AAAARGH
Het moet toch mogelijk zijn zou ik zeggen...
Kan dit gemakkelijk met Qmail ? dan stap ik wel over naar Qmail...
Zojuist wat aan het "spelen" geweest met de config-file van exim... Het wordt niet expliciet vermeld in de FAQ of specification van EXIM, maar het gaat heel erg gemakkelijk...
definieer onder "transports" het volgende transport :
--------------
backup:
driver = appendfile
file = /path/to/backup/${domain}
user = exim
group = exim
delivery_date_add
mode = 0606
--------------
Voeg onder directors VOOR/BOVEN de "localuser" director de volgende director toe:
--------------
localuser_backup:
unseen
driver = localuser
transport = backup
---------------
Bovenstaande director zorgt ervoor dat er een kopie van alle inkomende mail wordt gemaakt.
Om ook een kopie van alle uitgaande mail te maken, voeg je de volgende router toe boven de lookuphost router:
---------------
remote_backup:
unseen
driver = lookuphost
transport = backup
---------------
De regel "unseen" zorgt ervoor dat er op de achtergrond een kopietje wordt gemaakt, dit heeft geen invloed op de mail zelf.
definieer onder "transports" het volgende transport :
--------------
backup:
driver = appendfile
file = /path/to/backup/${domain}
user = exim
group = exim
delivery_date_add
mode = 0606
--------------
Voeg onder directors VOOR/BOVEN de "localuser" director de volgende director toe:
--------------
localuser_backup:
unseen
driver = localuser
transport = backup
---------------
Bovenstaande director zorgt ervoor dat er een kopie van alle inkomende mail wordt gemaakt.
Om ook een kopie van alle uitgaande mail te maken, voeg je de volgende router toe boven de lookuphost router:
---------------
remote_backup:
unseen
driver = lookuphost
transport = backup
---------------
De regel "unseen" zorgt ervoor dat er op de achtergrond een kopietje wordt gemaakt, dit heeft geen invloed op de mail zelf.
Verwijderd
Ik begrijp niet helemaal wat je wilt.
Als je alleen mail wilt ontvangen wat gericht is aan jouw adres (jouwdomein.nl), maar niet wat gerelayed wordt naar andere domeinen (anderdomein.nl) kun je veel beter relaying uitzetten.
Volgens mij kun je dan simpelweg:
#relay_domains =
erin zetten.
Wat ikzelf ook gebruik is:
qualify_domain = mijndomein.nl
local_domains = localhost:mijndomein.nl
local_domains_include_host = true
Dat zorgt ervoor dat hij alleen mail ontvangt voor mijndomein.nl, en niet voor mijn2edomein.nl.
Filteren is meer bedoelt voor spam blocken.
Als je alleen mail wilt ontvangen wat gericht is aan jouw adres (jouwdomein.nl), maar niet wat gerelayed wordt naar andere domeinen (anderdomein.nl) kun je veel beter relaying uitzetten.
Volgens mij kun je dan simpelweg:
#relay_domains =
erin zetten.
Wat ikzelf ook gebruik is:
qualify_domain = mijndomein.nl
local_domains = localhost:mijndomein.nl
local_domains_include_host = true
Dat zorgt ervoor dat hij alleen mail ontvangt voor mijndomein.nl, en niet voor mijn2edomein.nl.
Filteren is meer bedoelt voor spam blocken.
Het heeft weinig te maken met het blocken van spam, of het filteren van e-mail. Het zit als volgt: De server staat in een intranet, en we willen graag een complete backup van alle mail hebben. Volautomatisch. Dus niet handmatig alle mail naar een apart bestand kopieren ofzo.
Op deze manier hebben we een compleet mail archief, geordend per domein, en gemakkelijk uit te breiden, zodat er per domein en per specifiek account op dat domein wordt opgeslagen.
Op deze manier hebben we een compleet mail archief, geordend per domein, en gemakkelijk uit te breiden, zodat er per domein en per specifiek account op dat domein wordt opgeslagen.
Pagina: 1