




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 共享主机的 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
';
try {
$mail->send();
echo '✅ Email sent successfully!';
} catch (Exception $e) {
echo "❌ Mailer Error: " . $mail->ErrorInfo;
}遵循以上配置,即可在 OVH 共享主机上稳定、合规地发送邮件。