ホームページ >PHPフレームワーク >ThinkPHP >TPとphpmailerが連携してメール送信機能を実現する方法を詳しく解説

TPとphpmailerが連携してメール送信機能を実現する方法を詳しく解説

藏色散人
藏色散人転載
2021-11-05 14:44:582424ブラウズ

次のthinkphp Frameworkチュートリアルコラムでは、TPがphpmailerと連携してメール機能を実現する方法について説明します。

TP は phpmailer と連携して電子メールを送信します

  • https://packagist.org で phpmailer を見つけます

  • composer を使用して、 phpmailer をダウンロード プロジェクトにダウンロードします。

composer require phpmailer/phpmailer
  • phpmailer 設定コードを追加します。

//将PHPMailer类导入全局名称空间
//这些必须在脚本的顶部,而不是在函数内部
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
// Load Composer的自动加载器
function send_email($to,$subject='',$content=''){
    //实例化并传递`true`会启用异常
    $mail = new PHPMailer(true);
    //服务器设置
    try {
        //Server settings
        $mail->SMTPDebug = 2;                       //启用详细调试输出 2详细  1简单  0不显示
        $mail->isSMTP();                                            //使用SMTP
        $mail->Host       = 'smtp.qq.com';                    //将SMTP服务器设置为通过
        $mail->SMTPAuth   = true;                                   //启用SMTP验证
        $mail->Username   = '1758604817@qq.com';                     // SMTP用户名
        $mail->Password   = 'uzbslzhwjbjqejic';                     // 邮箱的授权码,不是邮箱密码
        $mail->SMTPSecure = 'ssl';        //启用TLS加密;`的PHPMailer :: ENCRYPTION_SMTPS`鼓励
        $mail->Port       = 465;                                     //要连接的TCP端口,对于上面的`PHPMailer :: ENCRYPTION_SMTPS`使用465
        //收件人
        $mail->setFrom('1758604817@qq.com', 'pigment');
        $mail->addAddress($to);     //添加收件人
//        $mail->addAddress('ellen@example.com');               //名称是可选的
//        $mail->addReplyTo('info@example.com', 'Information');
//        $mail->addCC('cc@example.com');
//        $mail->addBCC('bcc@example.com');
        //附件
//        $mail->addAttachment('/var/tmp/file.tar.gz');         //添加附件
//        $mail->addAttachment('/tmp/image.jpg', 'new.jpg');     //可选名称
        //内容
        $mail->isHTML(true);                                  //将电子邮件格式设置为HTML
        $mail->Subject = $subject;
        $mail->Body    = $content;
        return $mail->send();
    } catch (Exception $e) {
        return $mail->ErrorInfo;
    }
}

このメソッドを共通ファイルに追加します。アプリケーションのアプリケーションをメソッドにカプセル化し、どこからでも呼び出せるようにします。

Notes

Notes デバッグでのトラブルシューティングの方法を学習します。

データベースは、リンクの問題のテーブル名は正しいですか?

電子メール認証コードと電子メール パスワードは同じものではありません。これは非常に重要です。

推奨: "最新 10 thinkphp ビデオ チュートリアル

以上がTPとphpmailerが連携してメール送信機能を実現する方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はjuejin.imで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。