Come posso inviare una mail formattato come "Name <[email protected]>
" per:Come utilizzare caratteri speciali nel nome dei destinatari quando si utilizza la funzione di posta di PHP
ŠŒŽœžŸ¥µÀÁÃÄÅÆÇÉÊËÍÎÏÐÒÓÕÖØÙÜÝßàáâåæçèéëìíîïðñóôõöøùûýÿ <[email protected]>
Ovviamente, molti di questi personaggi non potrà mai presentarsi in un nome, ma nel caso lo facessero, preferirei che non impedissero l'invio di un'email.
Attualmente, questo viene a mancare, come indicato nella error.log di Apache con
Ignorando non valido 'A:' indirizzo del destinatario '¥ μÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ ' Operazione interrotta: non destinatari specificati
Se possibile , Vorrei mantenere i caratteri speciali "così come sono". Altrimenti, posso usare una sorta di funzione di traslitterazione per pulire il nome?
Esempio di utilizzo:
<?php
$to = "ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ <[email protected]>";
$subject = "Test Subject";
$body = "Test Body";
if (mail($to, $subject, $body)) {
echo("<p>Message successfully sent!</p>");
} else {
echo("<p>Message delivery failed...</p>");
}
?>
Forse anche aggiungere un puntatore a RFC2048 che definisce questo comportamento. Il MIME è essenziale se vuoi gestire la posta elettronica. – tripleee
Grazie all'inganno, funziona perfettamente. @ triple Grazie per il riferimento RFC. Non mi ero reso conto che questo si applicava a tutte le parti di un'email. – Citricguy
È anche possibile codificare caratteri speciali ** e ** spazi? (http://stackoverflow.com/questions/11963712/how-to-correctly-encode-strings-for-usage-in-mail-headers-in-php) Sfortunatamente 'mb_encode_mimeheader' non aiuta in questo caso. –