我正在使用php邮件程序生成邮件,但代码在本地计算机上工作正常但是当我在我的服务器上上传时它给出了这个错误(扩展缺失:openssl Mailer错误:扩展缺失: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()函数检查了服务器设置,该设置与我的本地机器
几乎相似答案 0 :(得分:0)
“几乎”不够好 - 你错过了OpenSSL扩展,但是你要求PHPMailer使用加密,没有它就无法工作。您只需启用openssl扩展即可。有许多资源可以帮助您实现这一目标,例如this question,但您没有说明您正在运行哪种服务器,因此我无法更具体。