mail() : Un Gif passant par plain/html ne passe plus si plain/text à défaut

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : mail() : Un Gif passant par plain/html ne passe plus si plain/text à défaut

par h0_noMan » 27 janv. 2008, 02:08

Dès que tu utilises le "Content-Transfer-Encoding: quoted-printable" il faudrat que tu encodes tes chaines en 8bits avec imap_8bit()

Certains caractères comme ' et @ qui sont utilisé frequement dans les messages meme en text/plain.

Ravi d'avoir pu t'aider.

par Anémone » 26 janv. 2008, 22:40

Ah merci!
Mais d'où vient ce souci?
Dans la foulée, pourrais-tu me donner la syntaxe de la fonction qui me permette de remplacer "=" par "=3D". (j'ai comme une flemme et php.net n'est pas en service en ce moment...)


PS: De plus comment puis-je vérifier que le text/plain à défaut s'affichera correctement?

PPS: La fonction que tu m'as indiquée a résolu le problème. Reste la question de la vérification de l'affichage du text/plain pour les logiciels concernés.

par h0_noMan » 26 janv. 2008, 22:26

Remplaces tes = par des =3D.

Edit : Pour complement, ceci est du à ton Content-Transfer-Encoding: quoted-printable.
Utilises en PHP, imap_8bit() qui convertira tes chaines de caractères.

par Anémone » 26 janv. 2008, 22:14

Bien vu,

En effet "<img src="http... "est devenu "<img src=ttp... ","width=135 height=103" est devenu " width5 height3"...
Je n'ai pas l'ombre d'un indice pour résoudre ce problème....

par h0_noMan » 26 janv. 2008, 20:33

Si tu envoie ton message html en texte affiche t'il les balises correctement ?

mail() : Un Gif passant par plain/html ne passe plus si pla

par Anémone » 26 janv. 2008, 20:15

Bonjour,

Un message HTML incluant un fichier image par son URL est bien intégralement reçu avec un content-type en text/html, mais ne passe plus avec la photo si un content-type en text/txt est installé à défaut (éventualité ou le logiciel de messagerie du destinataire ne reçoit pas l'html)
1)ça passe:
$messhtml="<html><body><center><table><tr><td><img src=\"http://www.quel-beau-site.com/photos/gretagarbot.jpg\"  ></td>
<td valign=\"top\"><P><B>Une bien jolie photo!</P></td></tr></table></center></body></html>";
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: [email protected]";
mail('[email protected]', 'la femme de tes rêves', $messhtml, $headers);
2)ça passe, mais sans la photo:
 $message_txt  = "Salut cestlui\n\n";
  $message_txt .= "Quelle jolie photo de Greta garbot..\n\n";
  $message_txt .= "cestmoi";

 $headers  = "From: \"[email protected]\n";
$boundary = "-----=" . md5( uniqid ( rand() ) );
  $headers .= "MIME-Version: 1.0\n";
  $headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";

$message  = "This is a multi-part message in MIME format.\n\n";
  $message .= "--" . $boundary . "\n";
  $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
  $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
  $message .= $message_txt;
  $message .= "\n\n";
  $message .= "--" . $boundary . "\n";
  $message .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
  $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
  $message .= $messhtml;//comme précédemment définie
  $message .= "\n\n";
  $message .= "--" . $boundary . "--\n";

  mail([email protected]', 'la femme de tes rêves', $message, $headers);
Merci pour le coup de main.
Pour finir, comment faire pour vérifier que le plain/text prévu à défaut s'aaiche correctement, si on n'a accès qu'à des logiciels configurés pour recevoir du html?