【发布时间】:2017-02-16 07:43:00
【问题描述】:
我正在使用 php mailer 来生成邮件,但是代码在本地机器上运行良好,但是当我在服务器上上传相同的内容时,它给出了这个错误(缺少扩展名:openssl 邮件程序错误:缺少扩展名:openssl),我打开了 587端口也一样,仍然无法正常工作
require 'phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'abc@gmail.com';
$mail->Password = 'secret';
$mail->SMTPSecure = 'tls'; // Even ssl is not working
//$mail->Port = 587;
$mail->setFrom('abc@gmail.com', 'abc');
$mail->addAddress('def@yahoo.com', 'DEF');
$mail->isHTML(true);
$mail->Subject = 'Subject here';
$mail->Body = 'Body Goes here';
if(!$mail->send())
echo 'Mailer Error: ' . $mail->ErrorInfo;
else
echo 'Mail Sent';
即使我从它在本地机器上但不在服务器上工作的代码中删除了端口号,我觉得我必须在服务器上进行一些更改。我已经使用 phpinfo() 函数检查了服务器设置,该设置与我的本地机器几乎相似
【问题讨论】:
-
天真我会说你需要在你的服务器上安装 PHP 的 openssl 扩展。这似乎不是代码中的错误。