装不上phpmailer,先确认有composer.json、PHP≥7.2、换为官方源;类找不到需引入vendor/autoload.php并执行composer install;SMTP失败因未开App密码或配置错误。

composer require phpmailer/phpmailer 装不上?检查这三件事
装不成功,大概率不是命令写错了,而是环境或配置卡在中间环节。
- 确认当前目录下有
composer.json,且没被composer.lock锁死旧版本(删掉 lock 文件再试) - PHP 版本必须 ≥ 7.2(
php --version看一眼),低于这个会报require php: ^7.2不满足 - 如果用国内网络,先跑
composer config -g repo.packagist composer https://packagist.phpcomposer.com换镜像源(注意:新版 Packagist 镜像已失效,推荐用https://packagist.org官方源 +composer config -g repos.packagist.org '{"type": "composer", "url": "https://packagist.org"}')
require 后为什么 new PHPMailer() 还报错 Class not found?
类找不到,90% 是自动加载没生效,不是没装成。
- 确保执行了
composer install或composer update(只跑require不够,得让 autoloader 重生成) - 入口脚本里必须包含
vendor/autoload.php,漏掉这句就等于没加载任何第三方类:require 'vendor/autoload.php';
- 别手动 require
PHPMailer/src/PHPMailer.php—— Composer 的 autoload 已经按 PSR-4 规则注册好了命名空间,硬引反而可能冲突
SMTP 登录失败:Username and Password not accepted
这不是 PHPMailer 的 bug,是邮箱服务商的限制策略在起作用。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- Gmail / Outlook / QQ 邮箱等默认禁用「密码登录 SMTP」,必须开启「App Password」或「POP/IMAP」并生成专用密码(不是你账户登录密码)
- QQ 邮箱要进「设置 → 账户 → POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务」手动开启 SMTP,并用「授权码」填
$mail->Password - 别用
$mail->IsSMTP()(已废弃),改用$mail->isSMTP();同时设$mail->SMTPAuth = true和$mail->SMTPSecure = 'tls'(端口 587)或'ssl'(端口 465)
发信慢、超时、或收件箱进垃圾邮件?
性能和送达率问题,往往藏在几个关键配置里。
立即学习“PHP免费学习笔记(深入)”;
- 本地开发别用 Gmail SMTP 做测试——它对非域名 IP 的连接限频极严,容易触发
535 Authentication failed或直接丢包;换成 Mailgun 或腾讯云 SES 更稳 - 没设
$mail->setFrom('xxx@yourdomain.com')?很多邮箱把无 From 域名或用@gmail.com冒充的信直接判垃圾邮件 - 避免用
$mail->addAddress('test@gmail.com', 'Test User')传中文昵称,某些 SMTP 服务器解析失败;昵称留空或只用 ASCII 字符更保险
最常被跳过的其实是 vendor/autoload.php 的引入时机和 SMTP 授权码的实际来源——这两处一错,后面所有代码都白写。


















