14 views

Raspberry PI inrichten met Postfix

Pin It

postfixDeze handleiding beschrijft hoe je postfix op de rapsberry pi moet installeren en wat er daarna aan de ‘standaard’ configuratie van postfix moet veranderen om de gmail SMTP-server te gebruikt om berichten van de Raspberry over het internet te versturen. Deze handleiding is een vervolg op Raspberry PI inrichten als webserver.


De, in deze handleiding gebruikte, conventie is dat alle tekst die op je computerscherm verschijnt in het groen wordt weer gegeven. Commando’s die je moet intoetsen zijn in het zwart weergegeven. Ieder commando moet worden afgesloten door op <Enter> te drukken!


Start-punt is dat je een raspberry pi volgens Raspberry PI inrichten als webserver hebt ingericht en dat je een bestaand, geregistreerde domein hebt! Overal waar <MyDomain> staat moet je echte domein naam worden ingevuld (bijvoorbeeld jandebruin.eu) als je geen domain hebt, vul dan het externe IP adres van je aansluiting in (geen idee of dat goed werkt overigens..). Je kunt je IP adres hier of hier achterhalen.

pi@raspberrypi ~ $ sudo apt-get install postfix

Tijdens de installatie van het postfix systeem wordt gevraagd wat voor soort postfix installatie je wilt. Omdat iedereen een gmail eMail account kan aanmaken, gaat deze installatie handleiding uit van gmail als doorgeef host. Tijdens de installatie van Postfix komen er drie ‘schermen voorbij waar je op moet reageren. Bij de vraag wat voor soort installatie dit moet worden moet je voor “Satallite system” kiezen.
Bij System mail name: voer je je domein naam in (bijvoorbeeld “debruin.eu“. Tenslotte beantwoord je de vraag SMTP relay host: met “[smtp.gmail.com]:587

Op het scherm verschijnen de volgende boodschappen:

pi@raspberrypi ~ $ cd /etc/postfix
pi@raspberrypi ../postfix $ ls -l


Er moeten nu een aantal directives in het postfix main.cf file worden aangepast.

Start je favoriete editor (nano of vi) en breng de veranderingen aan zoals hieronder is aangegeven.


De die hards die vi gebruiken zullen weten hoe ze daar mee om moeten gaan. Voor de minder ervaren gebruikers raad ik nano aan. Om te zien op welk regelnummer de cursor staat moet nano opgestart worden met de optie “-c“. Om aanpassingen op te slaan druk je achtereenvolgend op <Ctrl>+X, Y, <Enter>

Let op: Als het IP adres van je server bijvoorbeeld “192.168.1.101” is, dat moet je voor <JeNetwerkAdres.0> “192.168.1.0” invoeren!
Let op: De regelnummers komen niet overeen met die in het main.cf bestand!

pi@raspberrypi ~ $ sudo nano -c main.cf


Het volgende commando moet achter elkaar (op een regel dus) worden ingetoetst en kopieert een meegeleverd certificaat naar de postfix directory met de naam ‘cacert.pem‘. De backslash (“\“) maakt geen onderdeel uit van het commando maar geeft aan waar de regel, voor de leesbaarheid, is afgebroken ..

pi@raspberrypi ../postfix $ sudo cp \
                /etc/ssl/certs/Equifax_Secure_CA.pem \
                    /etc/postfix/cacert.pem


We changen de directory nu naar /etc/postfix/sasl

pi@raspberrypi ../postfix $ cd /etc/postfix/sasl

En maken een leeg bestand aan ..

pi@raspberrypi ../sasl $ sudo touch sasl_passwd_gmail

.. waarvan we de rechten (tijdelijk) zo zetten dat alles en iedereen er bij kan ..

pi@raspberrypi ../sasl $ sudo chmod 777 sasl_passwd_gmail

Nu moeten jouw credentials in dit bestand gestopt worden. Dat kan met een editor (vi of nano), maar hier doen we het met het echo commando. Het volgende commando moet achter elkaar (op een regel dus) worden ingetoetst…

pi@raspberrypi ../sasl $ sudo echo “[smtp.gmail.com]:587 \
  <YourEmailAddresss@gmail.com>:<YourGmailPassword>" \
        > sasl_passwd_gmail

Vervolgens zetten we de rechten van het bestand op ‘alleen leesbaar door root‘ ..

pi@raspberrypi ../sasl $ sudo chmod 400 sasl_passwd_gmail

.. en maken van het platte tekst bestand een encrypte database:

pi@raspberrypi ../sasl $ sudo postmap sasl_passwd_gmail

Controleren of er een database (‘.db’) bestand is aangemaakt ..

pi@raspberrypi ../sasl $ ls -l


.. terug naar de ‘home‘ map van user ‘pi’ (is niet echt nodig, maar dan weten we waar we zijn) ..

pi@raspberrypi ../postfix $ cd

.. en postfix opnieuw opstarten ..

pi@raspberrypi ~ $ sudo /etc/init.d/postfix restart


Postfix maakt gebruik van een aliasen database om berichten die naar iemand worden gestuurd, door te sturen naar iemand anders. Dit wordt op de raspberry pi ook gebruikt om bijvoorbeeld systeem berichten te versturen. Omdat niemand die berichten op de RPi ontvangt laat je alle berichten naar jezelf doorsturen. Hiervoor pas je het bronbestand aan wat door het newaliases commando gebruikt wordt om de database aan te maken.
Het bestand /etc/aliases moet er zo uit zien (gebruik vi of sudo nano /etc/aliases om het bestand aan te passen):

De betekenis is dat alle post voor gebruiker postmaster naar de gebruiker root wordt gestuurd. Post voor de gebruikers root en pi worden naar gebruiker jan gestuurd en alle post voor gebruiker jan wordt naar het externe eMail adres Jan.de.Bruin@gmail.com gestuurd. Uiteraard moet je, in plaats van, Jan.de.Bruin@gmail.com je eigen eMail adres invoeren.
Effectief wordt alle post dus naar Jan.de.Bruin@gmail.com gestuurd!
Als je het bestand hebt aangepast moet je de database opbouwen met het commando newaliases.


Om te controleren of alles werkt stuur je een testbericht naar jezelf:

pi@raspberrypi ~ $ mail <YourEmailAddress@gmail.com>
Subject: Test bericht

Let op: regel 8 is een punt, zonder spaties ervoor of erachter!

pi@raspberrypi ~ $ mailq

Als je het mailq commando direct na het versturen van je bericht intoetst (moet je echt snel zijn hoor!) dan zie je ongeveer dit:

Als je wat langer wacht met het mailq commando (of het een aantal malen achter elkaar intoetst) zul je zien dat de mail queue leeg is en dat alle berichten dus verstuurd zijn.

pi@raspberrypi ~ $ mailq

pi@raspberrypi ~ $

Als alles goed gaat, zul je nu een berichtje in je mailbox ontvangen..

Dit bericht is geplaatst in Computer, Nodo, Scripts met de tags , , , . Bookmark de permalink.

2 reacties op Raspberry PI inrichten met Postfix

  1. Dylan schreef:

    Wim.

    Kun je iets meer uitleg geven over deze tutorial.
    Lees ik het nu goed dat de rpi mails gaat versturen?
    Of krijg ik nu een “echte” mailserver?
    Ik heb een domeinnaam, en wil daar een mail aan koppelen.
    Dus mijn rpi als server [ die werkt] en ook als mailserver.
    Dus eigenlijk wil een mailadres als, dylantje@mijnsite.nl
    Krijg ik die via deze tutorial?
    Of krijg ik door deze tutoriol een rpi die mails verstuurd?

  2. ruud berry schreef:

    Wim,

    Heb je ooit antwoord gehad op je vraag want ik vraag me hetzelfde af.
    Bovendien heb ik dezelfde wensen als jij.
    Is het jou gelukt om een complete mailserver te installeren?

Reacties zijn gesloten.