Este grupo de especialistas pasados varios días de trabajo y de juntar de información, obtuvimos los datos necesarios, deseamos que resulte de gran utilidad en tu trabajo.
Solución:
Prueba por tema:
$sub = '=?UTF-8?B?'.base64_encode($subject).'?=';
Y entonces:
mail($to, $sub, $message, $headers);
Si bien la respuesta aceptada funciona bien, hace que sea imposible leer el asunto al mirar los encabezados sin formato. Aquí hay una alternativa que mantiene la línea legible y también más corta si se compone principalmente de caracteres ASCII.
$subject = '=?UTF-8?q?' . quoted_printable_encode($subject) . '?=';
Aquí está la línea de asunto codificada de la respuesta aceptada:
=?UTF-8?B?4piFIFlvdXIgbmV3IGFjY291bnQ=?=
Aquí está la línea de asunto codificada de mi respuesta:
=?UTF-8?q?=E2=98=85 Your new account?=
Editar:
Resulta quoted_printable_encode()
divide cadenas largas en varias líneas de un máximo de 75 caracteres, según lo requiere RFC 2045. El resultado es un string que no se puede usar con mail()
‘s $subject
parámetro. Aquí hay una versión actualizada para arreglar esto. También evitará la codificación de sujetos en ascii puro.
/**
* Make sure the subject is ASCII-clean
*
* @param string $subject Subject to encode
*
* @return string Encoded subject
*/
function getEncodedSubject(string $subject): string
if (!preg_match('/[^x20-x7e]/', $subject))
// ascii-only subject, return as-is
return $subject;
// Subject is non-ascii, needs encoding
$encoded = quoted_printable_encode($subject);
$prefix = '=?UTF-8?q?';
$suffix = '?=';
return $prefix . str_replace("=rn", $suffix . "rn " . $prefix, $encoded) . $suffix;
Explicación:
$subj = "Lorem ipsuöm dolor sit amet, consectetur adipiscing elit. Praesent mattis molestie purus, non semper lectus dictum eget.";
Después quoted_printable_encode
Lorem ipsu=C3=B6m dolor sit amet, consectetur adipiscing elit. Praesent mat=
tis molestie purus, non semper lectus dictum eget.
Después str_replace
=?UTF-8?q?Lorem ipsu=C3=B6m dolor sit amet, consectetur adipiscing elit. Praesent mat?=
=?UTF-8?q?tis molestie purus, non semper lectus dictum eget.?=
Reseñas y puntuaciones del artículo
Agradecemos que desees añadir valor a nuestro contenido informacional contribuyendo tu veteranía en las observaciones.