Er is op dit forum inderdaad wel al wat gezegd over mailen via php. Omdat je er zelf achter vraagt, laat ik je hieronder even weten hoe wij deze functie op onze site gebruiken.
Op een bepaalde pagina, bijvoorbeeld de contactpagina, kan een bezoeker via onze site een mailtje sturen naar bepaalde contactpersonen. De bezoeker vult een formulier in en klikt op verzenden. Het formulier wordt dan verwerkt, en roept met behulp van een
include-functie het bestand
mail.php op. Dat bestand is verantwoordelijk voor alle e-mailverwerking van onze site. Omdat het nogal groot is, heb ik de code ervan even on-line gezet:
http://www.scoutsmeerdaal.be/temp/mail.php.txt
Opgelet, ik maak het ineens redelijk ingewikkeld, maar als je even de uitleg hieronder volgt, zal het wel lukken je eigen aanpassingen te doen.
> Het script doet beroep op een aantal variabelen die vóór het includen moeten aangegeven worden:
::
$type: zegt welk type footer aan elke mail moet komen te staan. Zo is er een aparte footer voor mails via de site ("virtuele webmaster"), eentje voor het webteam, eentje voor footers die apart (op de echte php-pagina) worden gemaakt. Als er geen type wordt opgegeven, wordt geen footer in het mailtje gezet.
::
$afzender: De naam van de afzender (vb.
Webteam Scouts Meerdaal Haasrode)
::
$email_afzender: Het e-mailadres van de afzender (vb.
webteam@scoutsmeerdaal.be)
::
$ontvanger: De naam van de ontvanger (vb.
Jan Janssens)
::
$email_ontvanger: Het e-mailadres van de ontvanger (vb.
jan.janssens@hotmail.com)
::
$onderwerp: het onderwerp van de mail (vb.
Test mail)
::
$mail_plaintext: Een plaintext-versie (dwz zonder html-opmaak) van de eigenlijke mail-tekst
::
$mail_html: Een html-versie (dwz met html-opmaak) van de eigenlijke mail-tekst
> Het script maakt aan de hand van deze variabelen de volledige mail-content. Zoals je kan zien, wordt er zowel een html-versie als een plaintext-versie gemaakt. Je kan de plaintext-versie ook automatisch laten produceren met behulp van de php-functie
strip_tags, maar dan moet je html-code wel deftig opgemaakt zijn met newlines ("\n of een return in je code") om te voorkomen dat in de plaintext-versie alle tekst zou aan elkaar geplakt worden.
> Bij de html-versie kan je zien dat ik na elk =-teken, een "3D" zet. Dat moet om er voor te zorgen dat de mails juist gelezen kunnen worden door MS Outlook/MS Outlook Express. Je ziet ook dat ik een beetje valsspeel door een vast mail-id (
NextPart_000_0028_01C39807.7E77A870) op te geven, maar zo werkt het in elk geval. De mailtjes komen bij alle bekende mailleveranciers deftig aan (getest met Hotmail, MSN, Belgacom, Skynet, Tiscali, en een aantal webmailprogramma's die met plaintext werken).
> De laatste code-regel, bevat de
mail-functie van php. Er staan echter niet 4, maar 5 parameters. De laatste parameter (
"-f $email_afzender") is héél belangrijk wanneer je het op Scoutnet wil gebruiken. Die parameter zorgt ervoor dat mailtjes die naar een onbestaand e-mailadres worden gestuurd, naar de afzender worden gereturned. Laat je die parameter vallen, dan komt deze reply terug in de apache-mailbox van Scoutnet, en denk jij dus dat alles netjes is aangekomen.
Ziezo, hopelijk kan je er wat aan uit. Laat gerust weten wat niet duidelijk (genoeg) is, dan geef ik nog wel wat uitleg.
Véél succes ermee!
To