【发布时间】:2013-12-17 12:50:40
【问题描述】:
我编写了一个脚本来使用我的 Gmail 凭据发送邮件。它在我的本地机器上运行良好。这意味着我可以从本地机器发送邮件。但是当我在实时服务器上执行这个脚本时托管它时,我收到了这个错误:
SMTP -> 错误:无法连接到服务器:尝试对无法访问的网络进行套接字操作。 (10051)
我的代码是
<?php
require_once('core/class.phpmailer.php');
$mail = new PHPMailer(); // Create a new object
$mail->IsSMTP(); // Enable SMTP
$mail->SMTPDebug = 2; // Debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // Authentication enabled
$mail->SMTPSecure = 'ssl'; // Secure transfer enabled REQUIRED for GMail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "you@gmail.com";
$mail->Password = "***";
$mail->SetFrom("you@gmail.com");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("you@gmail.com");
echo "<pre>";
//var_dump($mail);
if (!$mail->Send())
{
echo "Mailer Error: " . $mail->ErrorInfo;
}
else
{
echo "Message has been sent";
}
//var_dump($mail->Send())
?>
在本地机器上运行良好。
我认为 SMTP 电子邮件服务器的配置有问题
有什么解决办法吗?
【问题讨论】: