什么是 PHPMailer,为什么需要它?
\n\nPHPMailer 是 PHP 语言中最流行、最强大的电子邮件发送库之一。它提供了一个简单而灵活的接口,用于处理 SMTP、POP3 和 IMAP 协议。与 PHP 的标准 mail() 函数不同,PHPMailer 提供了许多优势:
- \n
- 支持 SMTP 认证 — 通过外部邮件服务器(Gmail、Yandex、Mail.ru、自定义 SMTP 服务器)安全发送邮件。 \n
- 处理 HTML 邮件 — 创建带有图片和样式的精美格式化邮件。 \n
- 附件 — 能够附加任何类型的文件。 \n
- 支持 UTF-8 — 正确处理西里尔字母和其他语言。 \n
- 防止邮件头注入 — 保护您的应用程序安全。 \n
- 支持多种编码 — Base64、Quoted-Printable 等。 \n
- 支持 CC 和 BCC — 密送和抄送。 \n
该库被全球数千个项目使用,包括 WordPress、Drupal 和 Joomla 等 CMS。如果您需要从 PHP 应用程序发送邮件——无论是注册通知、密码重置、邮件群发还是商业报价——PHPMailer 都将是您不可或缺的工具。
\n\n安装 PHPMailer
\n\nPHPMailer 通过 Composer(PHP 的依赖管理器)安装。如果您还没有 Composer,请从官方网站 getcomposer.org 安装。
\n\n在项目根目录下打开终端并执行以下命令:
\n\ncomposer require phpmailer/phpmailer\n\n安装成功后,您的项目中会出现 vendor 文件夹和 composer.json 文件。要在 PHP 脚本中引入该库,请使用 Composer 的自动加载器:
require 'vendor/autoload.php';\n\n如果您不使用 Composer,也可以从 GitHub 手动下载该库,并通过 require_once 引入,但强烈建议使用 Composer 来自动管理依赖。
快速入门及代码示例
\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<