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