en General

Error salto de linea usando PHPmailer y SMTP.com

Hoy hemos detectado en minube un error de esos que parecen magia, unos extraños espacios en blanco que aparecían en los emails que enviábamos con PHPmailer a través de SMTP.com

Como es una combinación que puede ser bastante usual y seguro que algún día alguien se encuentra en el mismo problema, vamos a dejar este minipost en el mar de internet para el que lo necesite =)

El problema sucede cuando el html del email contiene más de 990 caracteres seguidos sin saltos de linea (\n o \r), en ese momento, siguiendo el estandar rfc 821 realiza cortes de 1000 caracteres incluyendo el CRLF (\r\n).

Hasta aquí todo parece correcto, enviamos el mail y nos encontramos que realiza unos cortes cada 992 caracteres con un CRLF extraño, que es el que produce el espacio en el email donde no debe estar.
La conclusión es que SMTP.com no cumple con el estandar de corte y que si el tiene que realizar el corte lo hace mal.

La solución es muy sencilla: en la linea 324 de class.smtp.com sustituimos la longitud de corte que está seteada a 998 a 990

Original:

$max_line_length = 998; # used below; set here for ease in change

Cambio:

$max_line_length = 990; # used below; set here for ease in change

Escribe un comentario

Comentario