bueno a priori si vas a utilizar gmail como smtp esta linea esta mal:
$mail->Host = 'localhost';
incluso si vas a utilizar un hosting de pago propio, ellos te dan la dirección smtp y no es precisamente localhost
Aqui esta la config del smtp de gmail para el envio de correos:
https://support.google.com/a/answer/176600?hl=es