[SMF 1.1 RC3] Caractères bizarres dans emails de notification

Started by skydig, August 28, 2006, 11:04:08 AM

Previous topic - Next topic

skydig

Bonjour à tous,

Si vous constatez que les emails de notification contiennent des caractères bizarres de ce style :

QuoteMessage-ID: <[email protected]>

X-Mailer: SMF

Content-Type: text/plain; charset=UTF-8

Content-Transfer-Encoding: quoted-printable

Vous venez tout juste de recevoir un message personnel de la part de admin sur Andraste .



IMPORTANT: Rappelez-vous que ceci n'est qu'une notification.  Ne r=C3=A9pondez pas =C3=A0 ce courriel.



Le message qui vous a =C3=A9t=C3=A9 envoy=C3=A9 est le suivant:



=C3=A0=C3=A0=C3=A9=C3=A0=C3=A9=C3=A0=C3=A9

=C3=A9=C3=A0=C3=A9=C3=A0



sdfsfs



R=C3=A9pondez =C3=A0 ce message personnel ici: http://www.andraste-guilde.com/forum/index.php=3Faction=3Dpm;sa=3Dsend;f=3Dinbox;pmsg=3D1917;quote;u=3D1 [nofollow]

Vous pouvez essayer d'apporter les modifications suivantes :

Dans le fichier Subs-Post.php (situé dans le répertoire "Sources" de SMF) :

Trouver :
Ligne 564
$headers = 'From: "' . $from_name . '" <' . (empty($modSettings['mail_from']) ? $webmaster_email : $modSettings['mail_from']) . ">\r\n";

Changer en :
$headers = 'From: "' . $from_name . '" <' . (empty($modSettings['mail_from']) ? $webmaster_email : $modSettings['mail_from']) . ">\n";

Trouver :
Ligne 565
$headers .= $from !== null ? 'Reply-To: <' . $from . ">\r\n" : '';

Changer en :
$headers .= $from !== null ? 'Reply-To: <' . $from . ">\n" : '';

Trouver :
Ligne 566
$headers .= 'Return-Path: ' . (empty($modSettings['mail_from']) ? $webmaster_email: $modSettings['mail_from']) . "\r\n";

Changer en :
$headers .= 'Return-Path: ' . (empty($modSettings['mail_from']) ? $webmaster_email: $modSettings['mail_from']) . "\n";

Trouver :
Ligne 567
$headers .= 'Date: ' . gmdate('D, d M Y H:i:s') . ' +0000' . "\r\n";

Changer en :
$headers .= 'Date: ' . gmdate('D, d M Y H:i:s') . ' +0000' . "\n";

Trouver :
Ligne 570
$headers .= 'Message-ID: <' . md5($scripturl . microtime()) . '-' . $message_id . strstr(empty($modSettings['mail_from']) ? $webmaster_email : $modSettings['mail_from'], '@') . ">\r\n";

Changer en :
$headers .= 'Message-ID: <' . md5($scripturl . microtime()) . '-' . $message_id . strstr(empty($modSettings['mail_from']) ? $webmaster_email : $modSettings['mail_from'], '@') . ">\n";

Trouver :
Ligne 571
$headers .= "X-Mailer: SMF\r\n";

Changer en :
$headers .= "X-Mailer: SMF\n";

Trouver :
Ligne 589
$headers .= 'Mime-Version: 1.0' . "\r\n";

Changer en :
$headers .= 'Mime-Version: 1.0' . "\n";

Trouver :
Ligne 590
$headers .= 'Content-Type: multipart/alternative; boundary="' . $mime_boundary . '"' . "\r\n";

Changer en :
$headers .= 'Content-Type: multipart/alternative; boundary="' . $mime_boundary . '"' . "\n";

Trouver :
Ligne 612
$headers .= 'Content-Type: text/plain; charset=' . $charset . "\r\n";

Changer en :
$headers .= 'Content-Type: text/plain; charset=' . $charset . "\n";

Trouver :
Ligne 642
$mail_result = $mail_result && smtp_mail($to_array, $subject, $message, $send_html ? $headers : "Mime-Version: 1.0\r\n" . $headers);

Changer en :
$mail_result = $mail_result && smtp_mail($to_array, $subject, $message, $send_html ? $headers : "Mime-Version: 1.0\n" . $headers);

Dans le fichier Post.french.php (situé dans le répertoire "Themes\default\languages" de SMF) :

Trouver :
Ligne 155
$txt['notification_reply_subject'] = "Réponse au fil de discussion&160;: %s";

Changer en :
$txt['notification_reply_subject'] = "Réponse au fil de discussion&#160;: %s";

Trouver :
Ligne 163
$txt['notification_remove_subject'] = "Fil de discussion effacé&#160: %s";

Changer en :
$txt['notification_remove_subject'] = "Fil de discussion effacé&#160;: %s";

Ca devrait faire l'affaire !
@ pliss

bjp

Bonjour et merci
Je viens d'essayer, c'est en effet la bonne solution.

MkC

il faut changer l'entete
Quote
Content-Type: text/plain; charset=UTF-8
et principalement le UTF par ISO  ;)

QuoteContent-Type: text/plain; charset=ISO-8859-1

bjp

Quote from: MkC on August 29, 2006, 01:29:25 PM
il faut changer l'entete
Quote
Content-Type: text/plain; charset=UTF-8
et principalement le UTF par ISO  ;)

QuoteContent-Type: text/plain; charset=ISO-8859-1
Tu peux être plus précis svp et indiquer dans quels fichiers et à quel endroit ? Merci.

Iakito

Je confirme qu'avec ces modifs les emails de notification ne contiennent plus ces caractéres bizarres par contre il doit encore manquer quelque chose pour les infolettres.

Si elles sont postées en texte brut c'est OK
Si elles sont postées en HTML, même probléme que pour les emails de notification avant les modifs de skydig.

hxxp:www.polynesiepassion.net [nonactive]

MPerrine

Bonjour,

Le problème persiste malgré ces modifs mais sur seulement quelques mails.
Quand je reçois une notification, perso, je n'ai pas de problème.
En revanche, j'ai encore des utilisateurs qui m'indiquent que le mail qu'ils reçoivent pour valider leur inscription contient ces caractères... Quelqu'un a une solution ?

Merci :)

MkC

Moi je suis passé par un filtre pour le moment mais je n'ai pas testé tous les mails envoyé par smf, donc pour le moment cela fonctionne pour les notifications de post, c'est tout ce que je peux dire.

MPerrine

Bonjour,

Suite à quelques tests effectués avec mes utilisateurs, il s'avère que les mails qui sont mal encodés sont les mails lus à partir des webmails des FAI (Free, Orange, etc...)

Les mails lus dans les logiciels (Outlook, Thunderbird) sont corrects.

Un utilisateur a même testé sur ces 2 plateformes : Outlook affiche bien son mail et le webmail de Free insère des caractères inappropriés.

Est-ce que certains d'entre vous ont été confrontés au même problème ? Si oui, quelles sont les solutions que vous avez mises en place (autres que celle de Skydig qui ne corrige qu'une partie du bug malheureusement :( )

Merci :)


loliv

J'ai le même problème dans les emails de notification lors d'une inscription...

Comment obtenir une distribution ou un pack français en 1.1RC3 ?

Olivier

Advertisement: