IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> PHP:ThinkPHP使用PHPMailer发送html邮件 -> 正文阅读

[PHP知识库]PHP:ThinkPHP使用PHPMailer发送html邮件

文档

安装

composer require phpmailer/phpmailer

代码示例

配置文件 config/mail.php

<?php
// +----------------------------------------------------------------------
// | 邮件系统配置
// +----------------------------------------------------------------------

return [
    'MAIL_HOST'      => 'smtp.163.com',
    'MAIL_PORT'      => 465,
    'MAIL_USERNAME'  => 'xxx@163.com',
    'MAIL_PASSWORD'  => 'xxxxxx',
    'MAIL_FROM_NAME' => '山中无老虎',
];

<?php

namespace app\service;

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;

class MailService
{
    public static function send($subject, $body, array $address_list = [])
    {
        $mail = new PHPMailer(true);

        //服务器配置
        $mail->CharSet   = "UTF-8";   //设定邮件编码
        $mail->SMTPDebug = SMTP::DEBUG_OFF; // 调试模式输出
        $mail->isSMTP();                 // 使用SMTP
        // SMTP服务器
        $mail->Host = config('mail.MAIL_HOST');
        // 服务器端口 25 或者465 具体要看邮箱服务器支持
        $mail->Port       = config('mail.MAIL_PORT');
        $mail->SMTPAuth   = true;  // 允许 SMTP 认证
        $mail->Username   = config('mail.MAIL_USERNAME');  // SMTP 用户名  即邮箱的用户名
        $mail->Password   = config('mail.MAIL_PASSWORD');  // SMTP 密码  部分邮箱是授权码(例如163邮箱)
        $mail->SMTPSecure = 'ssl';  // 允许 TLS 或者ssl协议


        //发件人
        $mail->setFrom(config('mail.MAIL_USERNAME'), config('mail.MAIL_FROM_NAME'));

        // 收件人
        foreach ($address_list as $address) {
            $mail->addAddress($address);
        }

        //Content
        $mail->isHTML(true);                                  // 是否以HTML文档格式发送  发送后客户端可直接显示对应HTML内容
        $mail->Subject = $subject;
        $mail->Body    = $body;

        $mail->send();
    }

}

测试

<?php


require_once __DIR__ . '/../../vendor/autoload.php';

((new \think\App())->http)->run();


use app\service\MailService;
use PHPUnit\Framework\TestCase;


class MailServiceTest extends TestCase
{
    /**
     * @doesNotPerformAssertions
     */
    public function testSend()
    {
        MailService::send('标题', '内容', ['xxx@qq.com']);
    }
}

如果需要发送内容更丰富的html,可以引入模板引擎去渲染邮件内容
PHP:ThinkPHP使用Twig渲染html

参考
PHP 使用 phpmailer 发送电子邮件

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-12-01 17:30:07  更:2021-12-01 17:30:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:34:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码