PHP E-Mail de l'Encodage?
Je vais avoir quelques problèmes avec les caractères étrangers lors de l'envoi d'un e-mail. Quelqu'un pourrait-il me conseiller sur quoi faire? Je soupçonne que le problème pourrait être l'une des trois choses.
- Le code html de codage de la page est incorrecte. (Aurait-il une incidence sur le POST de données à partir de la forme?)
- La fonction mail n'est pas n'importe quel encodage. Ainsi, le programme ne sait pas comment les lire. (Le plus probable)
- Le fichier lui-même n'a pas le droit de codage et donc, à se créer des problèmes. (Probablement assez improbable)
Existe-il d'autres causes possibles?
Je suis en train d'essayer de frapper ces 1 par 1 jusqu'à ce que j'ai trouver le problème. Je pense que l'option 2 est la cause la plus probable. Comment puis-je ajouter de la bonne - encodage universel à une fonction mail?
C'est ce que j'ai en ce moment.
$mail_sent = mail($client_email, $title, $message, "From: {$visitor_email}");
Actuellement, je suis conscient que le formulaire ne permet pas d'envoyer des polonais ou des caractères suédois.
Je vous serais très reconnaissant si quelqu'un pouvait ressortir toutes les autres causes possibles et dites-moi ce que le codage j'ai besoin de l'utiliser pour envoyer des e-mails.
Merci beaucoup.
Vous devez vous connecter pour publier un commentaire.
Autant que je sais que PHP ne supporte pas l'UTF-8 comme encodage par défaut pour ses cordes. Vous devez utiliser le codage/les fonctions de gestion de l'encodage que vous préférez.
Également ajouter un
Content-Type:text/html;charset=utf-8
à vos e-mails afin de les clients de messagerie affiche les caractères correctement (ou de le remplacer avec de l'encodage de choix).Vous n'avez pas spécifié le type et l'encodage de votre contenu. Essayez ceci:
Utiliser ce code
à partir de:http://php.net/manual/en/function.mail.php
En plus de ce qui a été dit précédemment, il n'est pas obligatoire d'envoyer le mail en HTML pour être en mesure d'utiliser l'UTF-8, vous pouvez également mettre en forme en tant que texte simple dans les en-têtes:
J'utilise le code suivant:
Utiliser un mail de PHP wrapper, il permettra de sauver votre santé mentale (en parlant d'expérience ici). Par exemple, PHPMailer vous permet de configurer le courrier électronique sortant de l'encodage et construit le message pour vous.
Aussi, l'utilisation de l'UTF-8; c'est presque universellement pris en charge aujourd'hui, et couvre tous les caractères dont vous avez besoin.
J'utilise ce code pour résoudre le problème avec le grec encoder dans la vieille Horde mail.