Swift Mailer, framework email

Swift Mailer est une librairie, orientée objet, pour envoyer des e-mails. Elle viendra remplacer très avantageusement la fonction « mail() » native à PHP. Il faut reconnaître que cette dernière fonction est assez rudimentaire.

Swift Mailer implémente un bon nombre de fonctionnalités et, elles peuvent enrichies grâce à une gestion de plugins. Historiquement, ce framework a été développé par Chris Crobyn, mais depuis quelques mois, c’est Fabien Potencier (qui oeuvre également le framework Symfony) qui maintient le projet. Une version 4 est sur le point de sortir. Cette nouvelle version de Swift Mailer sera la solution d’emailing par défaut pour Symfony 1.3.

Un code d’exemple valant une longue explication :

require_once 'lib/swift_required.php';

//Create the Transport the call setUsername() and setPassword()
$transport = Swift_SmtpTransport::newInstance('smtp.example.org', 25)
  ->setUsername('username')
  ->setPassword('password')
  ;

//Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);

//Create a message
$message = Swift_Message::newInstance('Sujet du mail')
  ->setFrom(array('send@ft.com' => 'Free Tools'))
  ->setTo(array('receiver@domain.org', 'other@domain.org' => 'Nom Destinataire'))
  ->setBody('et le message....')
  ;
  
//Send the message
$numSent = $mailer->send($message);

printf("Sent %d messages\n", $numSent);

/* Note that often that only the boolean equivalent of the return 
value is of concern (zero indicates FALSE)
if ($mailer->send($message))
{
  echo "Sent\n";
}
else
{
  echo "Failed\n";
}
*/

Je vous invite à fouiller la documentation… il ne s’agit là que d’un aperçu ! La librairie est vraiment très complète. De plus, sur la page plugin, vous trouverez en particulier une extension « antiflood ».

Site Internet : Swift Mailer
Licence : LGPL

Leave a Reply