Maison >cadre php >Swoole >Comment utiliser le framework Hyperf pour l'envoi d'e-mails

Comment utiliser le framework Hyperf pour l'envoi d'e-mails

PHPz
PHPzoriginal
2023-10-21 12:01:581154parcourir

Comment utiliser le framework Hyperf pour lenvoi de-mails

Comment utiliser le framework Hyperf pour l'envoi d'e-mails

Introduction :
Dans le développement d'applications Web, l'envoi d'e-mails est une fonction très courante. En tant que framework d'application léger et performant, le framework Hyperf fournit également la fonction d'envoi d'e-mails, nous permettant d'envoyer et de gérer facilement des e-mails. Cet article expliquera comment utiliser le framework Hyperf pour envoyer des e-mails et fournira des exemples de code spécifiques.

1. Installation et configuration
Avant d'utiliser le framework Hyperf pour envoyer des e-mails, nous devons effectuer quelques réglages de base dans le fichier de configuration. Tout d’abord, vous devez créer un fichier de configuration mail.php dans le répertoire config/autoload. Dans ce fichier de configuration, nous devons spécifier le lecteur d'envoi des e-mails, les informations de configuration de l'expéditeur et la configuration du journal des e-mails. Voici un exemple de configuration de messagerie de base :

return [
    'default' => 'smtp',
    
    'mailers' => [
        'smtp' => [
            'transport' => 'smtp',
            'host' => 'smtp.mailtrap.io',
            'port' => 587,
            'encryption' => 'tls',
            'username' => 'your_username',
            'password' => 'your_password',
            'timeout' => null,
        ],
    ],
    
    'log_channel' => 'mail',
];

Dans l'exemple ci-dessus, nous avons utilisé SMTP comme pilote pour l'envoi d'e-mails et configuré les informations pertinentes du serveur de messagerie, y compris l'hôte, le port, la méthode de cryptage, le nom d'utilisateur et le mot de passe de le serveur SMTP attend. Dans le même temps, nous avons également spécifié le canal du journal de messagerie comme courrier.

2. Écrivez le code d'envoi de l'e-mail
Après avoir terminé la configuration, nous pouvons écrire le code d'envoi de l'e-mail. Tout d’abord, nous devons créer une classe de courrier, héritée de la classe HyperfMailMessage. La classe email est responsable de la construction du contenu des e-mails, de l’ajout de pièces jointes et d’autres opérations. Voici un exemple de classe d'e-mail :

use HyperfMailMessage;

class MyMail extends Message
{
    public function build()
    {
        return $this->from('sender@example.com', 'Sender Name')
                    ->subject('邮件主题')
                    ->view('emails.example')
                    ->with([
                        'data1' => $data1,
                        'data2' => $data2,
                        //...
                    ])
                    ->attach('/path/to/file');
    }
}

Dans le code ci-dessus, nous utilisons la méthode from pour spécifier les informations sur l'expéditeur de l'e-mail, la méthode subject pour spécifier le sujet de l'e-mail, la méthode view pour spécifier le chemin de l'e-mail. vue e-mail et méthode with pour transmettre les données qui doivent être utilisées dans la vue courrier, la méthode attach spécifie la pièce jointe qui doit être ajoutée.

Ensuite, nous devons appeler la méthode build de la classe email dans le contrôleur ou ailleurs pour créer le contenu de l'e-mail et l'envoyer via le service d'envoi d'e-mails. Voici un exemple de code pour envoyer des e-mails :

use HyperfContractMailMailerInterface;

class MailController extends AbstractController
{
    public function send(MailerInterface $mailer)
    {
        $mailer->send(new MyMail());
    }
}

Dans le code ci-dessus, nous obtenons l'instance MailerInterface par injection de dépendances, puis appelons la méthode send et transmettons l'instance de la classe mail pour envoyer l'e-mail.

3. Envoyer un e-mail
Après avoir terminé l'écriture du code ci-dessus, nous pouvons tester l'envoi d'e-mails. Vous pouvez envoyer des e-mails en accédant aux routes pertinentes dans le navigateur ou en utilisant la ligne de commande pour appeler les méthodes du contrôleur correspondantes.

Il convient de noter que dans la configuration par défaut, les journaux d'envoi d'e-mails sont enregistrés via le canal de messagerie spécifié. Par conséquent, nous pouvons effectuer les configurations pertinentes dans le fichier logging.php du répertoire config/autoload, telles que spécifier le chemin d'accès au stockage des journaux et le niveau de journalisation.

Résumé :
Cet article présente brièvement comment utiliser le framework Hyperf pour l'envoi d'e-mails et fournit des exemples de code spécifiques. En configurant les informations de base sur les e-mails et en rédigeant des cours de courrier électronique, nous pouvons facilement envoyer et gérer des e-mails. J'espère que cet article vous aidera à comprendre la fonction d'envoi d'e-mails du framework Hyperf.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn