Al jaren heb ik dus zelf een mailserver. En soms gebeurd het dat je geblacklist wordt. Dat is dan meestal wel te verklaren. Meestal werd een e-mail account gehackt, wegens een te gemakkelijk paswoord of een virus die ergens is binnen geslopen op de PC van mijn klant.

De e-mail service verleen ik al meer dan 20 jaar. Dit soort incidenten is minimaal, maar de incidenten bij hotmail kan ik daarentegen niet meer tellen op 2 handen.

Ja, ik heb me ingeschreven op hun Junk Email Reporting program (JMRP) en het Smart Network Data Services programma (SNDS) - http://postmaster.live.com/snds/

Dit is voor mij een waardeloze tool. Want de status aldaar is al altijd deze geweest: "All of the specified IPs have normal status"

Euh, hallo. "En waarom blokkeer je dan de e-mails?"

Vandaag had ik er genoeg van.
Als hotmail niet voor een oplossing zorgt dan moet ik het maar zelf doen.

Todo voor vandaag was dus. Leid alle e-mail af naar een andere mailserver wanneer de ontvanger @hotmail.com is.

Dit is vrij eenvoudig in te stellen op Postfix. Veel meer werk is het om bij de smtp-provider alles in te stellen voor de vele domeinen die ik heb.

Postfix Transport Map

De transport map definieerd de 'routering' (of transport) voor ontvangende adressen. Normaal is deze setting niet ingevuld.

postconf transport_maps

Dit geeft standaard de setting terug zonder waarde

transport_maps =

De transport_maps parameter verwijst naar een bestand waar een 'tabel' staat met regels. Dit bestand zal gehashed worden, vandaar het woord hash: gevolgd door de bestandslocatie. Maak in het bestand /etc/postfix/main.cf er het volgende van:

vi /etc/postfix/main.cf
transport_maps = hash:/etc/postfix/transport

Bewaar het bestand en bewerk vervolgens de transport file:

vi /etc/postfix/transport
hotmail.com  relay:[smtp-relay.sendinblue.com]:587
outlook.com  relay:[smtp-relay.sendinblue.com]:587
hotmail.be   relay:[smtp.sendgrid.net]:587
outlook.be   relay:[smtp.sendgrid.net]:587
live.com     relay:[smtp.sendgrid.net]:587
live.be      relay:[smtp.sendgrid.net]:587
msn.com      relay:[smtp.sendgrid.net]:587

Bewaar dit en verander het tekstbestand in een database

postmap /etc/postfix/transport

Authenticatie

We hebben verwezen naar 2 smtp-services. Uiteraard moet je rechten hebben om van de smtp dienst gebruik te kunnen maken. Ik vond het voor zowel SendGrid als Sendinblue vrij eenvoudig om dit op te zetten en in te stellen. Je weet dat je in de interface ergens moet zijn bij het onderdeel SMTP en dat je een gebruikersnaam en paswoord nodig hebt.

Eens deze zijn aangemaakt gaan we deze gaan toevoegen aan Postfix

vi /etc/postfix/main.cf
# outbound relay configurations
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_security_level = may
header_size_limit = 4096000
vi /etc/postfix/sasl_passwd
[smtp-relay.sendinblue.com]:587            smtp_username:smtp_password
[smtp.sendgrid.net]:587 apikey:de api sleutel

Ook dit paswoord bestand wordt omgezet naar een tabel

postmap /etc/postfix/sasl_passwd

Zo. We zijn klaar en kunnen postfix herstarten en kijken in de log naar waar de emails gestuurd worden.

systemctl restart postfix
tail -f /var/log/maillog

Tips en problemen

Wanneer je een 'relay access denied' ziet dan is er iets niet juist met de gebruikersnaam en paswoord. Of iets bij de SMTP-service provider.
De email zal in dit geval blijven hangen in de queue. Om die een stamp te geven:

postqueue -f

Wanneer je gebruik maakt van postfixadmin dan kan het dat je de transport file moet toevoegen aan de virtual_mailbox_maps (in de config van Postfix)

virtual_mailbox_maps =
   hash:/etc/postfix/transport
   proxy...
Tags gerelateerd aan dit artikel:

Blog Categorie