2017-02-16 6 views
0

Я использую почтовую программу php для создания писем, но код работает нормально на локальной машине, но когда я загрузил на сервере то же самое, что и эту ошибку (расширение отсутствует: openssl Mailer Error : Расширение отсутствует: OpenSSL), я открыл 587 порта, а также, все еще не ее не работаетОшибка расширения: openssl Mailer Ошибка: расширение отсутствует: openssl

require 'phpmailer/PHPMailerAutoload.php'; 
$mail = new PHPMailer; 
$mail->isSMTP();          
$mail->Host = 'smtp.gmail.com'; 
$mail->SMTPAuth = true;        
$mail->Username = '[email protected]';     
$mail->Password = 'secret';       
$mail->SMTPSecure = 'tls'; // Even ssl is not working       
//$mail->Port = 587;         
$mail->setFrom('[email protected]', 'abc'); 
$mail->addAddress('[email protected]', '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

Naïvely Я бы сказал, что вам нужно установить расширение openssl для PHP на вашем сервере. Это не похоже на ошибку в коде. –

ответ

0

«Почти» недостаточно, вам не хватает расширения OpenSSL, но вы просите PHPMailer использовать шифрование, который не может работать без него. Вам просто нужно включить расширение openssl, и оно будет работать. Есть много ресурсов, которые помогут вам сделать это, например this question, но вы не говорите, какой сервер вы используете, поэтому я не могу быть более конкретным.

Смежные вопросы