Class: E-mail v1.0
Inleiding
clsMail heb ik gemaakt om niet iedere keer weer met headers te hoeven knoeien als er een e-mail verzonden moet worden.
De class zoals die nu is, is erg standaard en kan eventueel uitgebreid worden naar eigen inzicht.
Letop!
Deze class maakt gebruik van filter functies in PHP, hierdoor is de class pas bruikbaar vanaf PHP 5.2.0
Filter is standaard aanwezig vanaf PHP 5.2.0
Versie 1.0 van clsMail is getest met PHP 5.2.3-dev.
(Voor de geïnteresseerden: Filter gebruik ik hier om de e-mail adressen te valideren.)
Versie 1.0 bevat een belangrijke wijziging, hier is de mogelijkheid een Reply-To adres te specificeren toegevoegd. Nu is het dus ook mogelijk om adressen buiten uw domein als antwoord adres te gebruiken.
Changelog
v0.6
- filter_data vervangen door filter_var
v0.7
- Headers worden nu binnen de class als array opgeslagen.
- Methode voor het toevoegen van eigen headers.
- Constanten staan binnen de class
- Velden private gemaakt
- Of een mailException in de logfile komt is nu per geval aan te geven.
- PHPdocumentor documentatie beschikbaar op: http://php.n3rd.nl/clsMail/doc/
v1.0
- Bijlagen toevoegen
- CarbonCopy ontvangers toevoegen
- BlindCarbonCopy ontvangers toevoegen
- Reply-To adres toevoegen.
- Kleine fixes
clsMail
De methoden die gebruikt kunnen worden zijn te vinden in de online documentatie:
http://php.n3rd.nl/clsMail/doc/
Voor set methoden geldt dat ze maar 1x aangeroepen kunnen worden, gebeurd dit vaker worden de eerdere waarden overschreven.
Voor de add methoden geldt dat ze meerdere malen aangeroepen kunnen worden, er zal dan iets toegevoegd worden.
Aanroep van de class:
Bij de aanroep kan je 2 dingen opgeven, namelijk of de class HTML of tekst bevat en of de standaard headers meegestuurd moeten worden. Standaard wordt een tekst mail met standaard headers verstuurd.
Voor een HTML mail kan je de constante clsMail::HTML gebruiken.
mailException
Voor de clsMail wordt gebruik gemaakt van een eigen Exception class, deze is instaat om een errorlog bij te houden.
LETOP! Standaard wordt er een errorlog bijgehouden, daarvoor moet er een log directory aanwezig zijn, met een mail.log file met de juiste rechten!
Voorbeeld
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
error_reporting(E_ALL);
require 'mail.inc.php';
try{
//Instatie van het clsMail krijgen:
$objMail = new clsMail();
// Afzender invoegen:
$objMail->setSender('[email protected]');
// Ontvager toevoegen:
$objMail->addReciever('[email protected]');
// Een bericht toevoegen:
$objMail->addMessage('Regel 1'.PHP_EOL);
$objMail->addMessage('Regel 2'.PHP_EOL);
// Een onderwerp invoegen:
$objMail->setSubject('Test subject');
// Een eigen header invoegen:
$objMail->addHeader('Message-Id: '.md5(time()).'@localhost.ns');
// E-mail verzenden:
$objMail->sendMail();
echo 'Verzonden.';
}catch(mailException $e){
echo "De mail kon niet verzonden worden om de volgende reden: <b>".$e->getMessage()."</b>";
}
?>
Gesponsorde koppelingen
PHP script bestanden
Er zijn 19 reacties op 'Class email v10'
Om te reageren heb je een account nodig en je moet ingelogd zijn.
PHP hulp
0 seconden vanaf nu