E-mails aan root doorsturen naar extern adres

  •  
  •  

Forward email van en naar root, verzonden vanaf jouw server, naar elk willekeurig adres. De enige voorwaarde is dat je Postfix gebruikt, deze oplossing zal niet werken voor andere mailservers als Exim.

Root als ontvanger

Zoals op een blogpost van Bobby Allen omschreven, kun je e-mails aan "root" relatief gemakkelijk forwarden naar een extern adres, door de volgende stappen uit te voeren:

    1. Voeg een extern adres toe aan /etc/aliases:
      root: sysadmin@yourdomain.tld
    2. Vervolgens dient het aliases.db bestand bijgewerkt te worden, d.m.v.:
      newaliases
    3. En dient deze nieuwe database ingeladen te worden in postfix:
      service postfix reload

Deze instructie werkt echter alleen wanneer je gebruik maakt van een relatief simpele postfix configuratie. Dat wil zeggen, een configuratie waarbij er gebruik gemaakt worden van deze aliases database. Om hier zeker van te zijn dient de volgende regel in /etc/postfix/main.cf aanwezig te zijn:

alias_maps = hash:/etc/aliases

Wanneer de e-mail wordt verzonden van testserver1, dan zal het volledige root e-mailadres worden omgezet naar root@testserver1. Controleer of dit e-mailadres op de ontvangende server ook verwerkt wordt. De exacte afhandeling hangt af van de manier waarop je jouw virtual_alias_maps of virtual_mailbox_maps hebt gedefinieerd.

Root als afzender

Wanneer een cronjob als "root" wordt uitgevoerd, wordt deze username ook als afzender gebruikt. Standaard voegt Postfix daar "@$myorigin" aan toe zodat dit een volledig e-mailadres wordt (tenzij je append_at_myorigin hebt uitgeschakeld), maar verder is de alias-maps zoals bovenstaand omschreven hier niet op van toepassing — de afzender wordt dus niet herschreven.

Door gebruik te maken van smtp_generic_maps kun je dit wel bereiken. Het format van deze postmap is hetzelfde als de alias-maps van hierboven, echter dient deze wel handmatig toegevoegd te worden aan de installatie van Postfix. Voeg hiervoor in /etc/postfix/main.cf de volgende regel toe:

smtp_generic_maps = hash:/etc/postfix/generic

En maak het plaats een regel in dit bestand, bijvoorbeeld:

root admin@yourdomain.tld

Vervolgens kun je de generic-map "hashen" en Postfix herladen:

postmap /etc/postfix/generic
service postfix reload

Testen

Om het geheel te testen kun je een mailtje aan root versturen:

echo test | mail -s "testbericht" root

Indien er wordt aangegeven dat mail niet bestaat, kun je hiervoor mailutils installeren:

apt-get install mailutils

Controleer (eventueel in een apart venster) je maillog. Als onderstaand geen resultaten geeft, probeer dan mail.info of mail.err:

tail -f /var/log/mail.log