Pero es que yo veo un problema...
Email::MIME::CreateHTML crea un correo electrónico
completo (cabeceras y cuerpo), mientras que Email::Send::SMTP::Gmail hace lo mismo, antes de enviarlo hacia Gmail.
Entonces... te sobra potencia por algún sitio...
Si el requerimiento es que salga por Gmail, y no te ha funcionado ningún otro módulo, deberíamos acomodarnos a su funcionamiento, que sería, en teoría, pasando el código HTML en un fichero aparte, y agregándolo como adjunto. El problema es que no aparecería en el cuerpo del mensaje, sino como un adjunto real, preparado para que el usuario se lo descargue.
No sé... ¿y probando con poner
header => [] en el CreateHTML?
Yo probaría a generar el correo con Email::MIME::CreateHTML o directamente con Email::MIME, y luego enviaría el correo con
Email::Sender::Transport::SMTP.
Lo que me parece extraño es la situación de la rama Email dentro de CPAN... faltan módulos y documentación, comparado con lo que se podía hacer hace 5 años. Y la página del Perl Email Project, está parada.