欢迎来到安徽社交动力网络科技有限公司
建站资讯

当前位置: 首页 > 建站资讯 > 建站教程 > PHP教程

php如何实现邮件发送功能_phpmailer配置smtp与附件添加步骤

作者:长尾关键词优化 来源:php入门基础教程日期:2025-11-28
使用PHPMailer通过SMTP发送邮件并添加附件,首先通过Composer安装PHPMailer,然后配置SMTP信息如QQ邮箱的smtp.qq.com、端口465、SSL加密,启用SMTPAuth并设置Username和授权码Password,调用setFrom设置发件人,addAddress添加收件人,isHTML启用HTML内容,设置Subject和Body,通过addAttachment添加服务器路径上的附件文件,最后调用send发送邮件,并用try-catch捕获异常以确保稳定运行。

php如何实现邮件发送功能_phpmailer配置smtp与附件添加步骤

PHP 实现邮件发送功能最常用的方式是使用 PHPMailer,它支持 SMTP 配置、附件添加、HTML 内容等高级功能。下面详细介绍如何配置 PHPMailer 使用 SMTP 发送邮件,并添加附件。

安装 PHPMailer

推荐使用 Composer 安装 PHPMailer:

composer require phpmailer/phpmailer

如果没有使用 Composer,也可以从 GitHub 下载源码并手动引入。

配置 SMTP 发送邮件

以下是一个通过 SMTP 发送邮件的基础示例,以 QQ 邮箱为例(其他邮箱类似):

立即学习“PHP免费学习笔记(深入)”;

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
require 'vendor/autoload.php';

$mail = new PHPMailer(true); // 启用异常
try {
    $mail->isSMTP();
    $mail->Host = 'smtp.qq.com';
    $mail->SMTPAuth = true;
    $mail->Username = 'your_email@qq.com';
    $mail->Password = 'your_authorization_code'; // 注意:不是登录密码,是授权码
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
    $mail->Port = 465;

    $mail->setFrom('your_email@qq.com', '发件人名称');
    $mail->addAddress('to@example.com', '收件人');

    $mail->isHTML(true);
    $mail->Subject = '测试邮件标题';
    $mail->Body = '<h1>这是一封测试邮件</h1>';
    $mail->AltBody = '纯文本内容:这是一封测试邮件';

    $mail->send();
    echo '邮件发送成功';
} catch (Exception $e) {
    echo "邮件发送失败: {$mail->ErrorInfo}";
}

注意:

凹凸工坊-AI手写模拟器 凹凸工坊-AI手写模拟器

AI手写模拟器,一键生成手写文稿

凹凸工坊-AI手写模拟器 500 查看详情 凹凸工坊-AI手写模拟器 QQ 邮箱的 SMTP 服务器 是 smtp.qq.com,端口为 465,加密方式为 SSL(ENCRYPTION_SMTPS) 需要在邮箱设置中开启 POP3/SMTP 服务,并获取授权码作为密码 Gmail、163 等邮箱配置略有不同,如 Gmail 使用 TLS 加密,端口 587

添加附件

使用 addAttachment() 方法可以轻松添加附件:

// 添加一个附件
$mail->addAttachment('/path/to/file.pdf');

// 添加带自定义名称的附件
$mail->addAttachment('/path/to/photo.jpg', '我的照片.jpg');

附件路径必须是服务器上的绝对路径或相对路径,且 PHP 有读取权限。

如果要添加多个附件,重复调用 addAttachment 即可:

$mail->addAttachment('./files/doc1.pdf');
$mail->addAttachment('./files/image.png');

常见问题与建议

确保服务器允许外联 SMTP 端口(如 465、587),部分虚拟主机可能屏蔽 使用 try-catch 捕获异常,便于调试错误 避免频繁发送,防止被识别为垃圾邮件 生产环境建议使用更稳定的邮件服务(如 SendGrid、阿里云邮件推送)

基本上就这些,配置正确后,PHPMailer 能稳定实现邮件发送和附件功能。

以上就是php如何实现邮件发送功能_phpmailer配置smtp与附件添加步骤的详细内容,更多请关注php中文网其它相关文章!

标签: phpnow php教程
上一篇: PHPMailer 文件引入错误:深入解析与路径解决方案
下一篇: php如何优化sql查询速度_php慢查询日志分析与索引添加技巧

推荐建站资讯

更多>