PHPMailer 用于 PHP:完整指南及示例

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是 PHPMailer,为什么需要它?

\n\n

PHPMailer 是 PHP 语言中最流行、最强大的电子邮件发送库之一。它提供了一个简单而灵活的接口,用于处理 SMTP、POP3 和 IMAP 协议。与 PHP 的标准 mail() 函数不同,PHPMailer 提供了许多优势:

\n\n
    \n
  • 支持 SMTP 认证 — 通过外部邮件服务器(Gmail、Yandex、Mail.ru、自定义 SMTP 服务器)安全发送邮件。
  • \n
  • 处理 HTML 邮件 — 创建带有图片和样式的精美格式化邮件。
  • \n
  • 附件 — 能够附加任何类型的文件。
  • \n
  • 支持 UTF-8 — 正确处理西里尔字母和其他语言。
  • \n
  • 防止邮件头注入 — 保护您的应用程序安全。
  • \n
  • 支持多种编码 — Base64、Quoted-Printable 等。
  • \n
  • 支持 CC 和 BCC — 密送和抄送。
  • \n
\n\n

该库被全球数千个项目使用,包括 WordPress、Drupal 和 Joomla 等 CMS。如果您需要从 PHP 应用程序发送邮件——无论是注册通知、密码重置、邮件群发还是商业报价——PHPMailer 都将是您不可或缺的工具。

\n\n

安装 PHPMailer

\n\n

PHPMailer 通过 Composer(PHP 的依赖管理器)安装。如果您还没有 Composer,请从官方网站 getcomposer.org 安装。

\n\n

在项目根目录下打开终端并执行以下命令:

\n\n
composer require phpmailer/phpmailer
\n\n

安装成功后,您的项目中会出现 vendor 文件夹和 composer.json 文件。要在 PHP 脚本中引入该库,请使用 Composer 的自动加载器:

\n\n
require 'vendor/autoload.php';
\n\n

如果您不使用 Composer,也可以从 GitHub 手动下载该库,并通过 require_once 引入,但强烈建议使用 Composer 来自动管理依赖。

\n\n

快速入门及代码示例

\n\n

让我们使用 PHPMailer 发送第一封邮件。在此示例中,我们使用 Gmail 的 SMTP 服务器。请确保您已启用对安全性较低的应用的访问权限,或者为双因素认证使用应用专用密码。

\n\n
<?php\n// 引入 Composer 自动加载器\nrequire 'vendor/autoload.php';\n\n// 导入 PHPMailer 类\nuse PHPMailer\\PHPMailer\\PHPMailer;\nuse PHPMailer\\PHPMailer\\SMTP;\nuse PHPMailer\\PHPMailer\\Exception;\n\n// 创建 PHPMailer 实例\n$mail = new PHPMailer(true);\n\ntry {\n    // 服务器设置\n    $mail->SMTPDebug = SMTP::DEBUG_OFF; // 关闭调试(用于生产环境)\n    $mail->isSMTP();                     // 使用 SMTP\n    $mail->Host       = 'smtp.gmail.com'; // SMTP 服务器\n    $mail->SMTPAuth   = true;            // 启用认证\n    $mail->Username   = 'your_email@gmail.com'; // 您的邮箱\n    $mail->Password   = 'your_password';        // 您的密码或应用专用密码\n    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // SSL 加密\n    $mail->Port       = 465;             // SSL 端口\n\n    // 发件人和收件人\n    $mail->setFrom('your_email@gmail.com', '您的姓名');\n    $mail->addAddress('recipient@example.com', '收件人姓名');\n\n    // 邮件内容\n    $mail->isHTML(true); // 设置 HTML 格式\n    $mail->Subject = '来自 PHPMailer 的测试邮件';\n    $mail->Body    = '<h1>你好!</h1><p>这是一封使用 <b>PHPMailer<                    

推荐