使用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 配置、附件添加、HTML 内容等高级功能。下面详细介绍如何配置 PHPMailer 使用 SMTP 发送邮件,并添加附件。
安装 PHPMailer
推荐使用 Composer 安装 PHPMailer:
composer require phpmailer/phpmailer
如果没有使用 Composer,也可以从 GitHub 下载源码并手动引入。
配置 SMTP 发送邮件
以下是一个通过 SMTP 发送邮件的基础示例,以 QQ 邮箱为例(其他邮箱类似):
立即学习“PHP免费学习笔记(深入)”;
use PHPMailerPHPMailerPHPMailer;
use PHPMailerPHPMailerSMTP;
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 = ‘
这是一封测试邮件
‘;
$mail->AltBody = ‘纯文本内容:这是一封测试邮件’;
$mail->send();
echo ‘邮件发送成功’;
} catch (Exception $e) {
echo “邮件发送失败: {$mail->ErrorInfo}”;
}
注意:
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与附件添加步骤的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1338267.html
微信扫一扫
支付宝扫一扫