Estás tratando de conectarte a dos puertos diferentes que trabajan con protócolos diferentes.
SSL = puerto 465
TLS = puerto 587
El host debería ser así:
Código PHP:
$mail->Host = 'smtp.gmail.com';
Si el puerto es 587:
Código PHP:
$mail->SMTPSecure = 'tls';
Si el puerto es 465:
Código PHP:
$mail->SMTPSecure = 'ssl';