2015-05-17 3 views
0

Я удалил; для openssl из php.ini на php, а также в папку apache. Я все еще получаю сообщение об ошибке «Ошибка PHPMailer: расширение отсутствует: openssl» Ниже приведен код php, и я также установил phpmailerautoload.Устранение ошибки «Ошибка PHPMailer: расширение отсутствует: openssl»

PHP КОД:

<?php 
require "PHPMailerAutoload.php"; 
$mail = new PHPMailer(); 
$mail->IsSMTP(); 
$mail->Mailer = 'smtp'; 
$mail->SMTPAuth = true; 
$mail->Host = 'smtp.gmail.com'; // "ssl://smtp.gmail.com" didn't worked 
$mail->Port = 465; 
$mail->SMTPSecure = 'ssl'; 
// or try these settings (worked on XAMPP and WAMP): 
/*$mail->Port = 587; 
$mail->SMTPSecure = 'tls';*/ 


$mail->Username = "vignesh*******[email protected]"; 
$mail->Password = "********"; 

$mail->IsHTML(true); // if you are going to send HTML formatted emails 
$mail->SingleTo = true; // if you want to send a same email to multiple users. multiple emails will be sent one-by-one. 

$mail->From = "vignesh*******[email protected]"; 
$mail->FromName = "Vignesh"; 

$mail->addAddress("vignesh*******[email protected]","User 1"); 

//$mail->addCC("[email protected]","User 3"); 
//$mail->addBCC("[email protected]","User 4"); 

$mail->Subject = "Testing PHPMailer with localhost"; 
$mail->Body = "Hi,<br /><br />This system is working perfectly."; 

if(!$mail->Send()) 
    echo "Message was not sent <br />PHPMailer Error: " . $mail->ErrorInfo; 
else 
    echo "Message has been sent"; 
?> 

Пожалуйста, помогите мне в решении ошибки. Я также включил openssl в wampserver.

+0

В сообщении об ошибке говорится, что вам не хватает расширения openssl ... вы дважды проверяли? aka, вы отредактировали правильные ini-файлы? – Masiorama

+0

Также проверьте здесь, могут быть некоторые подсказки: http://stackoverflow.com/questions/3477766/phpmailer-smtp-error-could-not-connect-to-smtp-host?rq=1 – Masiorama

+0

Редактировать файл php.ini , удалить";" на "; extension = php_openssl.dll" – kyorilys

ответ

0

Для Windows + Apache:

в php.ini, ун-комментарий extension=php_openssl.dll.

В Apache \ bin добавить libeay32.dll и ssleay32.dll. (Пропуск этого шага заставляет Apache запускать два раза The ordinal 3906 could not be located in the dynamic link library LIBEAY32.dll.)

Restart Apache.

Следующим шагом является получение SSL вещи работу - TLS против SSL, номер порта, аутентификация ...

0

В дополнение к тому, что вы сделали и то, что сказал @Bilbo, вы можете захотеть изменить форму значения extension_dir в вашем php.ini до абсолютного пути (вместо относительного значения по умолчанию). Не знаю, почему, но это сделало трюк для меня.

В вашем php.ini найти и изменить extension_dir = "ext" примерно на следующее: extension_dir = "c:/php710/ext". Ваш путь может отличаться!

0

изменение ;extension=php_openssl.dll до extension=php_openssl.dll в вашем файле php.ini. затем перезапустите веб-браузер и сервер wamp/xampp. надеюсь это поможет.

1

PHP на IIS,

1) Открыть (PHP каталог установки) php.ini

2) раскомментировать (~ 910 линии в php.ini) расширение = php_openssl.dll

3) Перезагрузка IIS

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