
ovh 共享主机默认屏蔽外部 smtp 连接(如 gmail),必须改用 ovh 官方 smtp 服务(ssl0.ovh.net:465)并启用 ssl 认证,才能成功发送邮件。
在本地开发环境(如 XAMPP)中能正常运行的 PHPMailer 代码,部署到 OVH 共享主机后报错 SMTP connect() failed,这是 OVH 主机安全策略导致的典型问题——其共享主机(包括 Web Cloud、Mutualisé 等套餐)明确禁止通过外部 SMTP 服务器(如 smtp.gmail.com、smtp.office365.com)外发邮件,以防止滥用与垃圾邮件传播。
因此,即使你的 Gmail 应用专用密码、端口(587)、TLS 设置完全正确,OVH 的网络层也会直接拦截该出站连接,导致 SMTP connect() failed 错误。解决方案是:放弃 Gmail SMTP,改用 OVH 自托管的邮件中继服务。
✅ 正确配置(OVH 官方 SMTP)
以下为适配 OVH 共享主机的 PHPMailer 完整配置示例(使用你已开通的 OVH 邮箱账户):
require 'vendor/autoload.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
$mail = new PHPMailer(true); // 启用异常抛出(推荐)
// 使用 OVH SMTP 服务器
$mail->isSMTP();
$mail->Host = 'ssl0.ovh.net'; // OVH 官方 SMTP 主机(SSL)
$mail->Port = 465; // SSL 端口(不可用 587)
$mail->SMTPAuth = true; // 启用身份验证
$mail->Username = 'yourname@yourdomain.ovh'; // 必须是已创建的 OVH 邮箱地址
$mail->Password = 'your-ovh-mail-password'; // 对应邮箱的登录密码(非应用密码)
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS; // 强制 SSL(等同于 'ssl')
// 邮件内容
$mail->setFrom('yourname@yourdomain.ovh', 'Your Name');
$mail->addAddress('recipient@example.com', 'Recipient Name');
$mail->Subject = 'Test from OVH Server';
$mail->isHTML(true);
$mail->Body = 'TEST EMAIL
MY EMAIL IS AWESOME
立即学习“PHP免费学习笔记(深入)”;
';
try {
$mail->send();
echo '✅ Email sent successfully!';
} catch (Exception $e) {
echo "❌ Mailer Error: " . $mail->ErrorInfo;
}⚠️ 关键注意事项
- 邮箱账户需提前在 OVH 控制台创建:登录 OVHcloud Manager → 进入「Web Cloud」→「Emails」→ 创建一个邮箱(如 contact@yourdomain.ovh),并设置强密码。
- Username 必须是完整邮箱地址,且与 setFrom() 中的发件人地址一致(OVH 要求严格匹配)。
- 仅支持 SSL(端口 465),不支持 TLS(端口 587);若使用 SMTPSecure = 'tls' 或 Port = 587,将连接失败。
- 禁用 SMTPAutoTLS:OVH 不支持 STARTTLS 协商,务必显式指定 ENCRYPTION_SMTPS。
- 避免使用 Gmail / Outlook 等第三方 SMTP:OVH 共享主机无例外白名单,强行调用会静默丢包。
- 如仍失败,请检查:
- 邮箱密码是否正确(注意大小写、特殊字符 URL 编码问题);
- 是否启用了 OVH 邮箱的「IMAP/SMTP 访问」(默认开启,但可确认);
- PHP 版本是否 ≥ 7.2(PHPMailer v6.x 最低要求);
- allow_url_fopen 和 fsockopen 是否启用(OVH 共享主机默认允许)。
? 补充建议
- 生产环境请始终启用 new PHPMailer(true) 并用 try/catch 捕获异常,便于精准定位错误;
- 敏感凭据(如 $mail->Password)建议从环境变量或配置文件读取,避免硬编码;
- 若需更高可靠性与日志追踪,可考虑升级至 OVH VPS 或使用 SendGrid/Mailgun 等专业 API(需额外配置域名 SPF/DKIM)。
遵循以上配置,即可在 OVH 共享主机上稳定、合规地发送邮件。











