Catégorie: Développement

Envoi d’email avec PHP grâce à Swift Mailer

Auteur(s) de l'article

Gilles
Gilles
L’une des tâches les plus rébarbatives dans le développement web, ça doit bien être l’envoi d’email (après la gestion des formulaires, qui pourrait bien faire l’objet d’un futur article).
Certes, il existe la fonction mail() intégrée à PHP, mais celle-ci est très basique et loin d’être pratique. Comment envoyée facilement un mail multi-part ? attacher une pièce jointe ? envoyer le mail à plusieurs destinataire ? etc, etc.
C’est là qu’intervient la librairie Swift Mailer. Cette librairie, entièrement orientée objet, est extrêmement riche en fonctionnalités et est basée sur un système de plugin modulable. Elle a été écrite par Chris Crobyn et est désormais maintenue par Fabien Potencier (lead developer of the symfony framework).
Allez, un peu de code faut mieux qu’un paragraphe:

Création du message

[php gutter="false"]
require_once ‘/path/to/swift-mailer/lib/swift_required.php’;

// create the message
$message = Swift_Message::newInstance();
// hop, on défini le sujet du mail
->setSubject(‘Recherche mangeur de kiri’)
->setFrom(array(‘jean@example.com’ => ‘Jean Bond’))
->setTo(array(‘destinataire1@example.com’))
->setBody(‘Le corps du mail en texte.’, ‘text/plain’)
->addPart("<p>La version HTML.</p>", ‘text/html’)

// Ajout d’une pièce jointe depuis un fichier
->attach(Swift_Attachement::fromPath(‘document.pdf’))
// Ajout d’une pièce jointe crée dynamiquement
->attach(Swift_Attachement::newInstance(
$data, ‘document2.pdf’, ‘application/pdf’
))
;
[/php]

Envoi

[php gutter="false"]
// Création du "moyen de transport"
// (via serveur SMTP, Sendmail ou fonction mail() php)
// Ici, envoi via serveur SMTP
$transport = Swift_SmtpTransport::newInstance(‘smtp.example.com’, 25)
->setUsername(‘user’)
->setPassword(‘PaSswoRd’)
;

$mailer = Swift_Mailer::newInstance($transport);
$result = $mailer->send($message);

if($result)
{
/* … */
}
else
{
/* … */
}
[/php]
Et voilà!
plutôt simple non ?
Et pour finir, je vous invite à lire la doc détaillée de la librairie. Par ailleurs, n'hésitez pas à nous contacter si vous avez des questions spécifiques.

Références:

Continuer ma lecture

Auteur(s) de l'article

Akira
Akira

Making of : “La nuit des Losers”

Le site de « La Nuit des Losers », fait en un temps record : wireframes papier, animations testées en direct avec Claude Code, un flipper abandonné, un tableau de réactions un peu triché, et deux-trois bugs qu’on garde précieusement. Ce que l’IA a vraiment changé ici, et là où elle a calé.
Le site de « La Nuit des Losers », fait en un temps record : wireframes papier, animations testées en direct avec Claude Code, un flipper abandonné, un tableau de réactions un peu triché, et deux-trois bugs qu’on garde précieusement. Ce que l’IA a vraiment changé ici, et là où elle a calé.
Making of : “La nuit des Losers”

Auteur(s) de l'article

Pierre
Pierre

Dark mode : nécessité ou effet de mode

Nous faisons le tri entre idées reçues, réalités techniques et bonnes pratiques de design.
Nous faisons le tri entre idées reçues, réalités techniques et bonnes pratiques de design.
Dark mode : nécessité ou effet de mode

Auteur(s) de l'article

Susana
Susana

L’IA pour la gestion de projet

En tant que chef·fe de projet en agence web, on entend beaucoup parler de l’IA et de ce fameux Claude, réputé pour accompagner efficacement les développeur·euses dans leur quotidien. Mais \[…\]
En tant que chef·fe de projet en agence web, on entend beaucoup parler de l’IA et de ce fameux Claude, réputé pour accompagner efficacement les développeur·euses dans leur quotidien. Mais \[…\]
L’IA pour la gestion de projet