La versione 5.6 del PHP effettua la verifica del certificato per ogni connessione SSL, se quindi ti stai connettendo in SSL (sulla porta 465) verso un server per inviare newsletter (ad esempio il nostro server "ml.nomedominio.it") da un server con PHP 5.6.x ma avete un errore di certificato.
PHPlist ancora non ha rilasciato un fix per poter disabilitare tale controllo "lato admin" quindi occorre proseguire manualmente tramite modifica del codice di PHPMailer.
Occorre modificare il file "class.phpmailer.php" inserendo un array nella funzione "SMTPOptions" che disabiliti l'ssl (di default l'array passato è vuoto). Cerchiamo quindi la riga
public $SMTPOptions = array();
e sostituiamola con:
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
Con tale modifica non sarà effettuata la verifica del certificato SSL e la connessione sarà stabilita senza problemi.
P.S.: per quanto riguarda i nostri server per l'invio di newsletter (ml.nomedominio.it) il problema è che il certificato installato è per "*.dnshigh.com" (hostname del server) e non su "ml.nomedominio.it" e la verifica quindi fallisce.
Il tutto è trattato qui: https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting ("PHP 5.6 certificate verification failure").
Share