Als ontwikkelaar op een testserver is het voor jou van essentieel belang om volledige controle te hebben over de e-mails die worden verstuurd tijdens het testen van applicaties. Stelt u zich eens voor dat u werkt aan een project en voortdurend testberichten wilt verzenden naar een specifiek e-mailadres, zodat u gemakkelijk de e-mailstromen kunt monitoren en geautomatiseerde tests kunt uitvoeren.

Om dit mogelijk te maken, biedt Postfix, een populaire mailtransferagent, een handige configuratieoptie. Door enkele wijzigingen aan te brengen in de Postfix-configuratiebestanden op uw testserver, kunt u ervoor zorgen dat alle uitgaande e-mails worden bezorgd aan een enkele ontvanger. Hierdoor wordt de e-mailstroom gecentraliseerd en vereenvoudigd, waardoor u een beter overzicht heeft tijdens het testproces.

Voeg het volgende toe aan het einde van het configuratiebestand /etc/postfix/main.cf:

# Aangepaste toevoeging - alleen verzenden naar één e-mailadres.
recipient_canonical_classes = envelope_recipient
recipient_canonical_maps = regexp:/etc/postfix/recipient_canonical_map

In het bestand /etc/postfix/master.cf:

Zoek de regel die er ongeveer als volgt uitziet (zonder het "#" ervoor):

smtp unix - - n - - smtp

Voeg onmiddellijk daarna de volgende regel toe:

-o smtp_header_checks=regexp:/etc/postfix/smtp_header_checks

Maak een nieuw bestand /etc/postfix/recipient_canonical_map aan en voeg het volgende toe:

# Voer het e-mailadres in waarnaar je alle e-mails wilt laten bezorgen.
# Bijvoorbeeld, mijn configuratie leest "/./ [email protected]"
/./ [email protected]

Maak ook een nieuw bestand /etc/postfix/smtp_header_checks aan en voeg het volgende toe:

# Dit zal de hele onderwerpregel nemen en er "[devmail]" voor plaatsen, als een andere manier om het te filteren.
/Subject:(.*)/ REPLACE Subject: [devmail] $1

Nadat u deze configuratiebestanden hebt bijgewerkt en aangemaakt, herlaad u Postfix door het volgende uit te voeren:

[~]# service postfix reload

Als je het mail-commando hebt geïnstalleerd, stuur dan een testbericht naar een niet-bestaand e-mailadres:

[~]# echo 'test' | mail -s 'test email' [email protected]

Om de verbinding te weigeren en uit te schakelen, bewerk het bestand /etc/postfix/main.cf:

vi /etc/postfix/main.cf

Commentarieer de volgende regels uit door "#" ervoor te plaatsen:

# content_filter = amavis:[127.0.0.1]:10024
# receive_override_options = no_address_mappings