使用PHPMailer通过SMTP发送邮件更可靠,需配置第三方邮箱的SMTP参数并使用授权码;以QQ邮箱为例,设置Host、Port、加密方式及认证信息后即可发送HTML邮件。

发送电子邮件在PHP开发中很常见,比如用户注册验证、密码重置、通知提醒等。虽然PHP自带的mail()函数可以发邮件,但稳定性差,容易被当作垃圾邮件。推荐使用SMTP方式通过第三方邮箱服务(如QQ邮箱、163邮箱、Gmail等)发送,更可靠。
一、使用PHPMailer配置SMTP发送邮件
PHPMailer 是目前最流行的PHP邮件发送库,支持SMTP认证,使用简单且兼容主流邮箱服务商。
1. 安装PHPMailer你可以通过 Composer 安装 PHPMailer(推荐方式):
composer require phpmailer/phpmailer登录后复制如果没有使用 Composer,也可以从 GitHub 下载源码并手动引入。2. 基本代码示例(以QQ邮箱为例)
下面是一个使用QQ邮箱SMTP发送邮件的完整例子:
require 'vendor/autoload.php'; // 引入自动加载use PHPMailer\PHPMailer\PHPMailer;use PHPMailer\PHPMailer\SMTP;$mail = new PHPMailer(true);try { // 启用SMTP $mail->isSMTP(); $mail->Host = 'smtp.qq.com'; // SMTP服务器 $mail->SMTPAuth = true; // 开启认证 $mail->Username = 'your_email@qq.com'; // 发件邮箱账号 $mail->Password = 'your_password_or_token';// 授权码(非登录密码) $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // 加密方式 SSL/TLS $mail->Port = 465; // 端口:465(SSL)或 587(TLS) // 设置字符集 $mail->CharSet = 'UTF-8'; // 收件人 $mail->setFrom('your_email@qq.com', '发件人名称'); $mail->addAddress('to_email@example.com', '收件人'); // 邮件内容 $mail->isHTML(true); $mail->Subject = '测试邮件标题'; $mail->Body = '<h1>这是一封测试邮件</h1><p>使用PHPMailer发送成功!</p>'; $mail->AltBody = '这是一封纯文本测试邮件'; $mail->send(); echo '邮件发送成功';} catch (Exception $e) { echo "邮件发送失败:{$mail->ErrorInfo}";}登录后复制二、常见邮箱SMTP配置参数
不同邮箱服务商的SMTP设置略有差异,以下是常用配置:
标贝悦读AI配音 在线文字转语音软件-专业的配音网站
20 查看详情
QQ邮箱SMTP服务器:smtp.qq.com 端口:465(SSL)或 587(TLS) 加密方式:SSL/TLS 用户名:你的QQ邮箱地址 密码:QQ邮箱“授权码”(需在邮箱设置中开启SMTP并生成)163邮箱
SMTP服务器:smtp.163.com 端口:465 或 994(SSL) 加密方式:SSL 用户名:完整邮箱地址 密码:客户端授权密码(非登录密码)Gmail
SMTP服务器:smtp.gmail.com 端口:587(TLS)或 465(SSL) 加密方式:TLS/SSL 用户名:你的 Gmail 邮箱 密码:应用专用密码(需开启两步验证后生成)
三、注意事项与常见问题
实际使用中常遇到的问题和解决方法:
立即学习“PHP免费学习笔记(深入)”;
使用授权码而非登录密码:QQ、163、Gmail等都需要开启SMTP服务,并使用系统生成的“授权码”作为密码。 检查防火墙或服务器网络限制:部分虚拟主机屏蔽了SMTP端口,导致连接失败。 避免频繁发送:短时间内大量发信可能被服务商限制。 设置合适的发件人名称和主题:防止被识别为垃圾邮件。 启用调试模式查看错误:可在开发时开启: $mail->SMTPDebug = SMTP::DEBUG_SERVER; 基本上就这些。只要配置正确,PHP通过SMTP发送邮件并不复杂,关键是获取正确的授权码和使用可靠的库(如PHPMailer)。以上就是PHP电子邮件怎么发_PHP邮件发送SMTP配置指南的详细内容,更多请关注php中文网其它相关文章!