✉️ Envoie de Mail
- Introduction
- Configuration
- Utilisation
- La méthode send
- API de Message
addHeader
, ajout des entêtes personnalisésto
, définit le destinatairetoList
, Ajout plusieurs destinatairesaddFile
, Permet d'ajouter une pièce jointesubject
, Définit l'objet du mailfrom
, définit l'expéditeur du mailtoHtml
, définir le type de contenu en text/htmltoText
, Définit le corps du messageaddBcc
, ajout l'entête Carbon CopyaddCc
, ajout l'entête Carbon CopyaddReplyTo
, ajout l'entête Reply-ToaddReturnPath
, ajout l'entête Return-Path
- La méthode raw
Introduction
Envoyer des emails dans une application est monnaie courante. Bow Framework intègre un système d'envoi d'email facile à utiliser. Vous pouvez utiliser ce système à travers plusieurs pilotes communement appelés drivers:
- SMTP - Envoie direct via un serveur SMTP
- SES - Vous pouvez aussi utiliser SES
- MAIL - Le système utilisera le fonction
email
natif de PHP
Configuration
Vous trouverez la configuration dans le fichier config/mail.php
qui est rélativement simple, les options sont toutes commentés.
Installez les packages supplémentaire
- ses "aws/aws-sdk-php"
Utilisation
Pour utiliser le service, vous devez appeler la classe Bow\Mail\Mail::class
. Il y a deux méthode statique pour l'envoie de mail email
et raw_email
.
La méthode send
email permet d'envoyer des emails en se basant sur une vue dans l'application.
Prototype send
email($view, array $data, callable $callable)
Paramètre | Type |
---|---|
view | String L'email du destinataire |
data | Array Les informations à passer à la vue |
callable | Closure Le constructeur du message |
$callable
vous permet de construire le message et prend en paramètre une instance de Bow\Mail\Message
qui permet d'ajouter le destinataire, l'objet, les pièces jointes, l'expéditeur.
Exemple d'utilisation:
Considérons la vue email-view.tintin.php
qui contient les informations suivantes:
Bonjour {{ $name }},
Nous vous informons que vous compte viens d'être créditer de 100.000.000 F.
Cordialement,
Ecrivons maintenant le code qui envoie le mail:
use Bow\Mail\Mail;
use Bow\Mail\Message;
$data = [
'name' => 'Franck',
];
Mail::send('email-view', $data, function (Message $message) {
$message->to('info@exemple.com');
$message->subject("Paiement !");
$messate->from("Bow <info@exemple.com>");
});
API de Message
Bow Framework va donc passer une instance de Bow\Mail\Message
qui vous permettra d'ajouter des informations supplémentaires à votre email, notamment le destinataire.
addHeader
, ajout des entêtes personnalisés
$message->addHeader(string $key, string $value)
to
, définit le destinataire
$message->to(string $to, string $name = null)
toList
, Ajout plusieurs destinataires
$message->toList(array $list_desc)
addFile
, Permet d'ajouter une pièce jointe
$message->addFile(string $file)
subject
, Définit l'objet du mail
$message->subject(string $subject)
from
, définit l'expéditeur du mail
$message->from(string $from, string $name = null)
toHtml
, définir le type de contenu en text/html
$message->html($html)
toText
, Définit le corps du message
$message->text(string $text)
addBcc
, ajout l'entête Carbon Copy
$message->addBcc(string $mail, string $name = null)
addCc
, ajout l'entête Carbon Copy
$message->addCc(string $mail, string $name = null)
addReplyTo
, ajout l'entête Reply-To
$message->addReplyTo(string $mail, $name = null)
addReturnPath
, ajout l'entête Return-Path
$message->addReturnPath(string $mail, $name = null)
La méthode raw
raw par contre, permet d'envoyer des emails avec un message brute
Prototype raw
raw_email($to, $subject, $message, array $headers = [])
Paramètre | Type |
---|---|
to | String L'email du destinataire |
subject | String L'objet du mail |
message | String Le message à envoyer |
headers | Array Les entête-https à envoyer, par defaut est vide |
use Bow\Mail\Mail;
$email = "hello@exemple.com";
$subject = "Hello, world";
$message = "C'est juste un email de teste";
Mail::raw($email, $subject, $message);
Il manque quelque chose ?
Si vous rencontrez des problèmes avec la documentation ou si vous avez des suggestions pour améliorer la documentation ou le projet en général, veuillez déposer une issue pour nous, ou envoyer un tweet mentionnant le compte Twitter @bowframework ou sur directement sur le github.