Raspberry Pi – Mailen via een mailserver
Ik heb een leuke site gevonden hoe je een mailserver installeert op de Raspberry Pi, zo kun je de Raspberry Pi mailtjes laten versturen, en tevens vanuit PHP de mail() functie gebruiken.
Ps. bij mailen vanuit PHP krijg je de foutmelding:
sh: 1: /usr/sbin/sendmail: not found
1) Zorg eest dat de repository up-to-date is, met het commando: sudo apt-get update
2) Installeer SSMTP en de mail utilities met het commando: sudo apt-get install ssmtp mailutils
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: guile-1.8-libs libgnutls-openssl27 libgsasl7 libmailutils4 libntlm0 mailutils-common Suggested packages: mailutils-mh mailutils-doc The following NEW packages will be installed: guile-1.8-libs libgnutls-openssl27 libgsasl7 libmailutils4 libntlm0 mailutils mailutils-common ssmtp 0 upgraded, 8 newly installed, 0 to remove and 1 not upgraded. Need to get 3,667 kB of archives. After this operation, 8,656 kB of additional disk space will be used. Do you want to continue [Y/n]? Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libgnutls-openssl27 armhf 2.12.20-8+deb7u2 [218 kB] Get:2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main guile-1.8-libs armhf 1.8.8+1-8 [722 kB] Get:3 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libntlm0 armhf 1.2-1 [19.3 kB] Get:4 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libgsasl7 armhf 1.8.0-2 [220 kB] Get:5 http://mirrordirector.raspbian.org/raspbian/ wheezy/main mailutils-common all 1:2.99.97-3 [795 kB] Get:6 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libmailutils4 armhf 1:2.99.97-3 [841 kB] Get:7 http://mirrordirector.raspbian.org/raspbian/ wheezy/main ssmtp armhf 2.64-7 [55.1 kB] Get:8 http://mirrordirector.raspbian.org/raspbian/ wheezy/main mailutils armhf 1:2.99.97-3 [796 kB] Fetched 3,667 kB in 4s (868 kB/s) Preconfiguring packages ... Selecting previously unselected package libgnutls-openssl27:armhf. (Reading database ... 74077 files and directories currently installed.) Unpacking libgnutls-openssl27:armhf (from .../libgnutls-openssl27_2.12.20-8+deb7u2_armhf.deb) ... Selecting previously unselected package guile-1.8-libs. Unpacking guile-1.8-libs (from .../guile-1.8-libs_1.8.8+1-8_armhf.deb) ... Selecting previously unselected package libntlm0. Unpacking libntlm0 (from .../libntlm0_1.2-1_armhf.deb) ... Selecting previously unselected package libgsasl7. Unpacking libgsasl7 (from .../libgsasl7_1.8.0-2_armhf.deb) ... Selecting previously unselected package mailutils-common. Unpacking mailutils-common (from .../mailutils-common_1%3a2.99.97-3_all.deb) ... Selecting previously unselected package libmailutils4. Unpacking libmailutils4 (from .../libmailutils4_1%3a2.99.97-3_armhf.deb) ... Selecting previously unselected package ssmtp. Unpacking ssmtp (from .../ssmtp_2.64-7_armhf.deb) ... Selecting previously unselected package mailutils. Unpacking mailutils (from .../mailutils_1%3a2.99.97-3_armhf.deb) ... Processing triggers for man-db ... Setting up libgnutls-openssl27:armhf (2.12.20-8+deb7u2) ... Setting up guile-1.8-libs (1.8.8+1-8) ... Setting up libntlm0 (1.2-1) ... Setting up libgsasl7 (1.8.0-2) ... Setting up mailutils-common (1:2.99.97-3) ... Setting up libmailutils4 (1:2.99.97-3) ... Setting up ssmtp (2.64-7) ... Setting up mailutils (1:2.99.97-3) ... update-alternatives: using /usr/bin/frm.mailutils to provide /usr/bin/frm (frm) in auto mode update-alternatives: using /usr/bin/from.mailutils to provide /usr/bin/from (from) in auto mode update-alternatives: using /usr/bin/messages.mailutils to provide /usr/bin/messages (messages) in auto mode update-alternatives: using /usr/bin/movemail.mailutils to provide /usr/bin/movemail (movemail) in auto mode update-alternatives: using /usr/bin/readmsg.mailutils to provide /usr/bin/readmsg (readmsg) in auto mode update-alternatives: using /usr/bin/dotlock.mailutils to provide /usr/bin/dotlock (dotlock) in auto mode |
3) Om SSMTP te configureren open je het bestand /etc/ssmtp/ssmtp.conf, met het commando: sudo nano /etc/ssmtp/ssmtp.conf
Bij mailhub=mail vul je de SMTP server in van je provider:
Pas eventueel de hostnaam nog aan mocht deze afwijken van de standaard “raspberrypi”.
SMTP met wachtwoord
Gebruik je een provider dat een wachtwoord gebruikt voor connectie, voeg dan deze regels toe en pas ze aan:
1 2 3 |
AuthUser=Gebruikersnaam AuthPass=Wachtwoord UseSTARTTLS=YES |
Gmail instellingen
Dit zijn de instellingen voor Gmail
1 2 3 4 5 6 |
root=postmaster mailhub=smtp.gmail.com:587 hostname=raspberrypi AuthUser=GMailGebruikersNaam@gmail.com AuthPass=GMailWachtwoord UseSTARTTLS=YES |
FromLineOverride=YES ?
Deze regel laat je je eigen “from” header van een mailtje bepalen, zet je deze op NO, dan wordt het mailtje altijd verstuurd met de naam van de raspberry, dus FROM: raspberry@website.nl.
Als je deze regel op YES zet, kan je je eigen FROM header schrijven bijvoorbeeld uit een PHP script), als voorbeeld info@website.nl.
Druk op CTRL+O > Enter om de wijzigingen weg te schrijven en daarna op CTRL+X om NANO af te sluiten.
Authorisatie
5) Voordat je een mailtje kan versturen moet je ook eerst authorisatie geven (zgn email accounts) aan de desbetreffende gebruiker, hiervoor moet je het “SSMTP aliases” bestand bewerken dit is /etc/ssmtp/revaliases
Dit doe je met het commando: sudo
nano /etc/ssmtp/revaliases
Het formaat is: lokaal_account:uitgaand adres:mailhub[:poort]
Creeer een email account voor de gebruikers, zoals root, pi en niet te vergeten de webserver www-data:
1 2 3 |
root:root@website.nl:smtp.server.nl:25 pi:pi@website.nl:smtp.server.nl:25 www-data:info@website.nl:smtp.server.nl:25 |
Druk op CTRL+O > Enter om de wijzigingen weg te schrijven en daarna op CTRL+X om NANO af te sluiten.
6) Geef daarna rechten voor het SSMTP configuratie bestand met het commando: sudo chmod 774 /etc/ssmtp/ssmtp.conf
Ps. krijg je deze foutmelding?: sendmail: RCPT TO:<name@adres.com> (550 Sender verify failed) kijk dan of de authorisaties goed staan!