Email verzenden vanuit een website

De standaard installatie van Ubuntu Server beschikt niet over email functionaliteit. Het is nodig extra software te installeren. Het is niet de bedoeling om email te ontvangen in dat geval kan volledige email functionaliteit worden verzorgt door postfix.

Hier willen we alleen bereiken dat de webserver email kan versturen. Dat is mogelijk met sSMTP wat we hier installeren en configureren.

Installeer de smtp server:
sudo apt-get install ssmtp

Pas de volgende file aan:
sudo nano /etc/ssmtp/ssmtp.conf

Pas de file aan naar de voorbeelden hieronder:

# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
# Extra: het email adres van het account waar de mail naar toe moet root=xxxxx@inrijen.nl
#
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
# De gegevens voor de server waar de mail moet worden afgeleverd
mailhub=smtp.provider.com:587
AuthUser=xxxxx@xxxxxx.nl
AuthPass=password
UseSTARTTLS=YES
#
# Where will the mail seem to come from?
# rewriteDomain=
#
# The full hostname
# Alleen de "domain name" hostname=inrijen.nl
#
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
# nee, de provider accepteert geen mail van andere adressen
# FromLineOverride=YES
#
Het testen van de smtp server

Nu we mail kunnen versturen van de web server kunnen we daar ook gebruik van maken om via scripts mail te sturen zodat we kunnen debuggen. Kan handig zijn om iets te testen.

Maak een test bestand:
nano emailtest.txt

Plaats de volgende inhoud in het bestand:

To: xxxxx@inrijen.nl From: super@grapje.nl
Subject: een test met email

dit komt van een test bericht!!!!!!!

Test de smtp setup door het versturen van een email:
ssmtp xxxxx@xxxxx.nl < emailtest.txt

Configureer Apache om SSMTP te gebruiken:
sudo nano /etc/php5/apache2/php.ini

Voeg de volgende regel toe of pas aan in php.ini

sendmail_path =/usr/sbin/ssmtp -t

Restart apache:
sudo /etc/init.d/apache2 restart

De mail() functie in php werkt na deze aanpassing correct. Dat niet alleen, maar ook als er fouten ontstaan in php of apache kan het zijn dat je een mailtje krijgt.

Laatst bijgewerkt op 6 januari 2014

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *