Maison  >  Article  >  développement back-end  >  Comment utiliser PHPMailer avec CakePHP ?

Comment utiliser PHPMailer avec CakePHP ?

王林
王林original
2023-06-04 13:10:331293parcourir

CakePHP est un framework PHP open source basé sur le modèle MVC, conçu pour fournir aux développeurs un environnement de développement d'applications Web efficace, évolutif et facile à entretenir. Parmi eux, la fonction courrier a toujours été l’un des composants importants des applications Web.

Afin de faciliter l'utilisation de la fonction email par les développeurs, la bibliothèque de classes PHPMailer a été encapsulée dans CakePHP. PHPMailer est une bibliothèque d'envoi d'e-mails couramment utilisée qui prend en charge des fonctions telles que l'envoi d'e-mails HTML, de pièces jointes, de copie carbone, de file d'attente de courrier et de vérification SMTP. Cet article explique comment utiliser la bibliothèque de classes PHPMailer dans CakePHP pour implémenter la fonction d'envoi d'e-mails.

1. Installer PHPMailer

Tout d'abord, vous devez installer la bibliothèque de classes PHPMailer dans le projet. Il peut être installé via Composer. Les étapes sont les suivantes :

  1. Installez Composer dans le répertoire racine du projet.
  2. Exécutez la commande suivante dans la ligne de commande :
composer require phpmailer/phpmailer
  1. Une fois l'installation terminée, le répertoire phpmailer sera créé dans le répertoire du fournisseur du projet et généré le fichier autoload.php.

2. Configurer les paramètres de messagerie

Avant d'utiliser PHPMailer pour envoyer des e-mails, vous devez configurer les paramètres de messagerie. Les paramètres de configuration incluent l'adresse du serveur SMTP, l'adresse e-mail de l'expéditeur, le surnom de l'expéditeur, le port du serveur SMTP, le nom d'utilisateur et le mot de passe du serveur SMTP, etc.

Il existe deux manières de configurer les paramètres : l'une consiste à configurer via le fichier de configuration, l'autre consiste à configurer via le code.

  1. Configurer via le fichier de configuration

Créez un fichier email.php dans le répertoire config du projet et écrivez le code suivant : #🎜 🎜#

<?php
$config = [
    'email' => [
        'transport' => 'Smtp',
        'from' => ['email' => 'sender@example.com', 'name' => 'Sender Name'],
        'host' => 'smtp.gmail.com',
        'port' => 587,
        'timeout' => 30,
        'username' => 'your_username',
        'password' => 'your_password',
        'tls' => true //启用TLS加密
    ]
];

Parmi elles, la variable $config stocke le tableau de configuration des paramètres de messagerie. A noter que l'adresse, le port et la méthode de vérification du serveur SMTP utilisés ici sont basés sur la configuration de la boîte mail Gmail. Si vous utilisez d'autres boîtes mail tierces, vous devez modifier les paramètres de configuration correspondants.

    Configuration par code
Dans le contrôleur qui doit utiliser la fonction mail, écrivez le code suivant :

use PHPMailerPHPMailerPHPMailer;

$mail = new PHPMailer();
$mail->isSMTP(); // 设置使用SMTP协议发送邮件
$mail->Host = 'smtp.gmail.com'; // 指定SMTP服务器地址
$mail->Port = 587; //指定SMTP服务器端口
$mail->SMTPSecure = 'tls'; // 启用TLS加密
$mail->SMTPAuth = true; // 开启SMTP验证
$mail->Username = 'your_username'; // SMTP服务器用户名
$mail->Password = 'your_password'; // SMTP服务器密码
$mail->setFrom('sender@example.com', 'Sender Name'); // 发件人邮箱地址和名称
#🎜 🎜 #三、Envoyer un e-mail

Avant d'envoyer un e-mail, vous devez définir l'adresse e-mail du destinataire, l'objet de l'e-mail, le contenu de l'e-mail et d'autres informations. La classe PHPMailer fournit une série de méthodes d'envoi, qui peuvent être sélectionnées en fonction des besoins réels.

Envoyer un courrier ordinaire
  1. $mail->addAddress('recipient@example.com', 'Recipient Name'); // 收件人邮箱地址和名称
    $mail->Subject = 'Test Email'; // 邮件主题
    $mail->msgHTML('<b>This is a test email.</b>'); // 邮件内容,支持HTML格式
    $mail->AltBody = 'This is a test email.'; // 邮件内容,不支持HTML格式
    if ($mail->send()) {
        echo '发送成功';
    } else {
        echo '发送失败:' . $mail->ErrorInfo;
    }
Envoyer une pièce jointe
  1. $mail->addAttachment('/path/to/file.pdf'); // 添加附件
    $mail->Subject = 'Test Email with Attachment'; // 邮件主题
    $mail->msgHTML('<b>This is a test email with attachment.</b>'); // 邮件内容,支持HTML格式
    $mail->AltBody = 'This is a test email with attachment.'; // 邮件内容,不支持HTML格式
    if ($mail->send()) {
        echo '发送成功';
    } else {
        echo '发送失败:' . $mail->ErrorInfo;
    }
  2. #🎜 🎜 #sendccmail
    $mail->addAddress('recipient1@example.com', 'Recipient 1'); // 收件人邮箱地址和名称
    $mail->addCC('recipient2@example.com', 'Recipient 2'); // 抄送人邮箱地址和名称
    $mail->Subject = 'Test Email with CC'; // 邮件主题
    $mail->msgHTML('<b>This is a test email with CC.</b>'); // 邮件内容,支持HTML格式
    $mail->AltBody = 'This is a test email with CC.'; // 邮件内容,不支持HTML格式
    if ($mail->send()) {
        echo '发送成功';
    } else {
        echo '发送失败:' . $mail->ErrorInfo;
    }
  1. Le code ci-dessus montre comment utiliser la bibliothèque de classes PHPMailer pour implémenter la fonction d'envoi d'e-mails dans CakePHP. En configurant les paramètres de messagerie, en définissant les adresses des destinataires et en envoyant le contenu des e-mails, vous pouvez envoyer des e-mails rapidement et facilement. Dans le même temps, PHPMailer propose également une multitude de méthodes d’envoi d’e-mails pour répondre aux besoins réels dans différents scénarios.

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