Hoofdstuk 20. Zend_Mail

Inhoudsopgave

20.1. Inleiding
20.2. E-mail sturen via SMTP
20.3. Meerdere e-mails sturen via een SMTP verbinding
20.4. Verschillende Transporten gebruiken
20.5. HTML E-Mail
20.6. Bijlagen
20.7. Geadresseerde bijvoegen
20.8. De MIME Boundary controleren
20.9. Bijkomende Headers
20.10. Character Sets
20.11. Encoding
20.12. SMTP Authentificatie
20.13. Securing SMTP Transport
20.14. Reading Mail Messages
20.14.1. Simple example using Pop3
20.14.2. Opening a local storage
20.14.3. Opening a remote storage
20.14.4. Fetching messages and simple methods
20.14.5. Working with messages
20.14.6. Checking for flags
20.14.7. Using folders
20.14.8. Advanced Use

20.1. Inleiding

Zend_Mail verstrekt globale functionaliteit om zowel tekst als MIME-compliant multipart e-mails te sturen. Mail kan gestuurd worden met Zend_Mail via de ingebouwde PHP functie mail() of via een directe SMTP verbinding.

Voorbeeld 20.1. Eenvoudige E-mail met Zend_Mail

Een eenvoudige e-mail bestaat uit enkele geadresseerden, een onderwerp, een inhoud en een afzender. Om zo'n mail te sturen met de PHP mail() functie doe je het volgende:

<?php
require_once 'Zend/Mail.php';
$mail = new Zend_Mail();
$mail->setBodyText('Dit is de inhoud van de mail.');
$mail->setFrom('somebody@example.com', 'Een afzender');
$mail->addTo('somebody_else@example.com', 'Een geadresseerde');
$mail->setSubject('TestOnderwerp');
$mail->send();
?>   
[Opmerking] Opmerking

Om een mail te sturen met Zend_Mail moet je op zijn minst één geadresseerde, een afzender (bijvoorbeeld met setFrom()) en een inhoud (tekst of HTML) ingeven.

Voor de meeste mail attributen zijn er "get" methodes om de informatie die in het mail object is opgeslaan te lezen. Voor meer detail kan je terecht bij de API documentatie. Een speciale methode is getRecipients(). Deze methode stuurt een array terug van alle geadresseerden die werden toegevoegd voor de roep aan de methode.

Om veiligheidsredenen filtert Zend_Mail alle headervelden om header injectie te voorkomen met behulp van newline (\n) tekens.