Mail de PHP en ligne de pause problème
Je veux formater le contenu de l'e-mail pour afficher le contenu en ligne.
voici mon message contetn.
bu les \n et \r ne fonctionne pas dans ce cas. il montre à tout le contenu sur une seule ligne.
$message = 'Thank you for using . We really appreciate your business.'."\r\n".'If you are making your payment by mail, please make the check out to "blah blah" and send it to:'."\n".'blah blah '."\n".'blah blah'."\n".'San Gabriel, CA 91776'."\n".'Please see the attached invoice in PDF format for easy saving & printing purposes.';
$attachment = chunk_split(base64_encode($pdfdoc));
$headers = "From: ".$from.$eol;
$headers .= "MIME-Version: 1.0".$eol;
$headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"".$eol.$eol;
$headers .= "Content-Transfer-Encoding: 7bit".$eol;
$headers .= "This is a MIME encoded message.".$eol.$eol;
$headers .= "--".$separator.$eol;
$headers .= "Content-Type: text/html; charset=\"iso-8859-1\"".$eol;
$headers .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
$headers .= $message.$eol.$eol;
$headers .= "--".$separator.$eol;
$headers .= "Content-Type: application/pdf; name=\"".$filename."\"".$eol;
$headers .= "Content-Transfer-Encoding: base64".$eol;
$headers .= "Content-Disposition: attachment".$eol.$eol;
$headers .= $attachment.$eol.$eol;
$headers .= "--".$separator."--";
mail($_POST['add6'],$subject, $message, $headers);
comment puis-je le faire?
Montrez-nous comment vous envoyer le courrier. Je soupçonne que vous pourriez être en offrant en-têtes d'indiquer au client un courrier au format HTML, de sorte que le CR LF se fait traiter comme n'importe quel autre espace.
comme indiqué par Paul selon le type de contenu de l'e-mail de la ligne d'alimentation peut être ignorée .... donc, vous pouvez poster l'ensemble du bloc de code à inclure les en-têtes
j'ai ajouté mon extrait de code pls voir et se faire une suggestion!!
donc oui sunce votre Content-Type text/html, il est normal que l' \n\r sont annulées, vous devez utiliser la bonne html <br/> ou <p></p>
ce qui est dans votre $eol var?
comme indiqué par Paul selon le type de contenu de l'e-mail de la ligne d'alimentation peut être ignorée .... donc, vous pouvez poster l'ensemble du bloc de code à inclure les en-têtes
j'ai ajouté mon extrait de code pls voir et se faire une suggestion!!
donc oui sunce votre Content-Type text/html, il est normal que l' \n\r sont annulées, vous devez utiliser la bonne html <br/> ou <p></p>
ce qui est dans votre $eol var?
OriginalL'auteur Andromeda | 2009-09-28
Vous devez vous connecter pour publier un commentaire.
Vous dites le client de messagerie le message est en HTML, de sorte que le CR LF combinaison sera traitée comme toutes les autres espaces.
Pour résoudre ce problème, modifiez le type de contenu à montrer que vous êtes l'envoi d'un e-mail en texte brut
Sinon, mettez votre message dans un message HTML - un moyen facile de le faire dans votre cas serait de le lancer à travers nl2br à son tour les retours à la ligne dans
<br>
tagsEn fait, êtes - vous sûr qu'il ne l'est pas? Ne pouvez pas trouver aucune référence à
text/plaint
. Ai-je raté quelque chose?Content-Type: text/plain; non ?
Oui, c'était une erreur
Bonne prise. J'ai fait l'erreur de trop qui m'a pris un moment pour le savoir 🙂
OriginalL'auteur Paul Dixon
Yep vous avez
Content-Type: text/html
, de sorte que le CR LF est en train d'être traités comme des espaces. Soit l'envoyer en tant queContent-Type: text/plain
ou appeleznl2br
sur votre contenu.OriginalL'auteur Dominic Rodger
Votre type de contenu est du HTML, donc vous devez utiliser des br ou les balises p au lieu de ligne de flux
OriginalL'auteur RageZ
Pour \n fonctionne, il faut des guillemets, pas seul. "\n" est la bonne chose, '\n' est faux et ne fonctionne pas.
jetez un oeil à son poste, il est déjà à l'aide de guillemets...
Mon mauvais. Oubliée.
+1 pour le pointant à l'extérieur. - Je pour moi-même manqué ce détail.
OriginalL'auteur Per Östlund