wiki.phpfreakz.nl
Aanmelden Artikel Overleg Bewerk Geschiedenis Go to the site toolbox

Phpmailer

Inhoud

Vooraf

Gebruik voor scripts als PHPMailer altijd een up-to-date versie.

In april 2009 is versie 5.0.0 van PHPMailer uitgekomen, na een sprong in de versienummering vanaf 2.3. In november 2009 is 5.1 verschenen.


Een alternatief voor PHPMailer is Swiftmailer: [1]

Inleiding

PHP kent de functie mail(). Hiermee is het in principe mogelijk allerlei e-mails te versturen.

De mogelijkheden zijn groot, maar de moeilijkheid ligt hem er in, dat van de gebruiker kennis verwacht wordt van het mail protocol: alle mail headers mag hij zelf uitvinden en invullen. Een foutje daarin en het gevolg is dat mail niet leesbaar is, html als plain text te zien is, of bijlagen niet te openen zijn.

PHPMailer is een class die je daarbij een hoop werk en moeite uit handen kan nemen. Waarom opnieuw het wiel uitvinden?

Installeren

Waar haal ik het vandaan? http://phpmailer.sourceforge.net/. En aldaar kiezen voor de optie Download.

Hoe "installeer" ik het? Bij het downloaden krijg je een zip-file. Die pak je uit en je zet alle files in 1 directory, bereikbaar voor PHP. In de rest van het verhaal ga ik er vanuit dat dat is: $_SERVER['DOCUMENT_ROOT']/classes/phpmailer/

Gebruik

In principe is PHPMailer direct klaar voor gebruik.

<?php
  require_once($_SERVER['DOCUMENT_ROOT'].'/classes/class.phpmailer.php');
 
  $mailer = new PHPMailer();
  $mailer->Subject = 'Voorbeeldje';
  $mailer->Body = 'Dit is het bericht.'; 
  $mailer->AddAddress('foo@bar.com', 'footje bar'); 
  $mailer->AddCC('foobar2@foobar.com', 'footje bar nr 2');
  $mailer->AddBCC('foobar3@foobar.net', 'footje bar nr 3');
  $mailer->Send();
?>

Basis configuratie

Helaas zal het lijken alsof de mail is verstuurd door apache@example.com of iets dergelijks. Dat is allemaal in te stellen met extra regels. Bijvoorbeeld:

<?php
  $mailer->From = 'info@mijnsite.nl';
?>

Maar aangezien je over je hele site waarschijnlijk vaker mails wilt versturen, is het misschien handig om daarvoor een configuratie op te zetten.

<php
  require_once($_SERVER['DOCUMENT_ROOT'].'/classes/class.phpmailer.php');
 
  class FreakMailer extends PHPMailer
  {
    var $From = 'info@mijnsite.nl';
    var $FromName = 'Webmaster van MijnSite.nl';
  }
?>

Aanroep

$mailer = new phpmailer();

onder vermelding van een aantal voorbeelden: TO, CC en BCC. Spelen met From

HTML E-mails

Attachments

Afbeeldingen als bijlagen meesturen

$mailer->AddAttachment('/home/mywebsite/public_html/file.zip', 'file.zip');

gebruik voor mailings

  • Veel ontvangers tegelijkertijd: BCC in een loop.
  • persoonlijke mails: subject en body in de loop.

Direct praten met SMTP server

PHPMailer configureren voor directe communicatie met een SMTP server, om grote hoeveelheden e-mails te versturen.

Links

http://www.askapache.com/php/phpfreaks-eric-rosebrocks-phpmailer-tutorial.html

Site Toolbox:

Persoonlijke hulpmiddelen
De laatste wijziging op deze pagina vond plaats op 1 feb 2010 17:35. - Deze pagina werd 6.734 maal bekeken. - Disclaimers - Over PFZWIKI