====== Mail in web-applicaties ======
Web-applicaties die zich in het appcluster of testcluster bevinden kunnen zowel
over uitgaande als inkomende mail beschikken.
Denk bijvoorbeeld aan bevestigingsmails bij registratie van gebruikers (uitgaand)
en de eventuele bounce-mails die dit veroorzaakt als gevolg van type-fouten (inkomend).
===== Uitgaande mail =====
Uitgaande mail kan verstuurd worden via de volgende smtp-server:
smtp.mail.omroep.nl
In de DNS hebben we hiervoor zowel een A/AAAA als een aantal MX records opgenomen.
Let er **altijd** op dat het afzenderadres/bounceadres, waar afleverproblemen worden gemeld, een
geldig adres is en dat bounces ook daadwerkelijk in behandeling worden genomen.
Mail in webapplicaties zijn echter nogal eens doelwit van criminelen.
Een veilige methode om mail te faciliteren in web-applicaties is om het
To: en From: adres te laten verwijzen naar een eigen vast mail-adres. Een eventueel
door webgebruikers ingevuld email adres kan dan in de Reply-To: headers
opgenomen worden. Zodoende is dit, mogelijk gefingeerde, adres niet
van invloed op het transport van de mail en kan dus niet misbruikt worden.
Een voorbeeld van gebruik van smtp in php in combinatie met·
[[https://github.com/Synchro/PHPMailer|PHPMailer]]
isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.mail.omroep.nl'; // Specify main and backup SMTP servers
$mail->Port = 25; // TCP port to connect to
$mail->From = 'redactie@website.nl';
$mail->FromName = 'De redactie';
$mail->addAddress('redactie@website.nl', 'De redactie');
$mail->addReplyTo('info@example.com', 'Information');
$mail->isHTML(true);
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body in bold!';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
===== Inkomende mail =====
We hebben 2 smaken in de aanbieding:
* real-time scripts
* een pop3s/imaps service
==== real-time scripts ====
Deze service bestaat er uit dat een door u opgeleverd script wordt uitgevoerd bij de
ontvangst van een mail. Dit kan bijvoorbeeld gebruikt worden om bounces te analyseren en dus bijv.
fout ingevulde email adressen weer uit een database te halen.
Via standaard-invoer krijgt u het bericht aangeboden van een postfix-instantie.
Voorbeeld:
/e/ap/www.foo.tld/config/myscript.php
Optioneel kunnen we een argumentenlijst meegeven.
==== pop3s/imaps ====
Standaard protocollen, geschikt voor standaard libraries. Geschikt voor het
batch-gewijs verwerken van mail.
Voor de volgende clusters is er een pop3s/imaps instantie beschikbaar:
^ cluster ^ pop3s/imaps hostnaam ^
| appcluster | ''app.pop.omroep.nl'' |
| testcluster | ''app-test.pop.omroep.nl'' |