Вы отправляете письмо на неправильный порт / конфигурацию.В вашем коде он отправляется на порт 587, который обрабатывает соединения stmp, но вы отправляете его настроенным через ssl (который необходимо отправить через порт 465).
Вам ТОЛЬКО необходимоизмените, где он говорит ssl на "tls", и он будет работать.
$mail->SMTPDebug = 2; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587; // or 587