Position actuelle: Accueil> Derniers articles> Comment utiliser la fonction MB_SEND_MAIL pour envoyer un courrier chinois? Analyse des étapes détaillée

Comment utiliser la fonction MB_SEND_MAIL pour envoyer un courrier chinois? Analyse des étapes détaillée

gitbox 2025-09-25

En PHP, la fonction MB_SEND_MAIL est une fonction d'envoi de courrier soutenu par des caractères multi-gytets pour l'envoi de courrier, particulièrement adapté à l'envoi de courrier contenant des caractères chinois ou autres caractères multi-gytets. Par rapport à la fonction Mail () , MB_SEND_MAIL peut mieux gérer les jeux de caractères codés UTF-8, en évitant le problème du code brouillé. Cet article présentera en détail comment utiliser la fonction MB_SEND_MAIL pour envoyer un courrier chinois, y compris des exemples de code et une analyse des étapes.

1. Assurez-vous que l'environnement prend en charge les extensions de MbString

Avant d'utiliser la fonction MB_SEND_MAIL , vous devez d'abord vous assurer que votre environnement PHP a des extensions MBSTRING installées et activées. MBSTRING est une bibliothèque d'extension pour le traitement des caractères multi -yte en PHP. La fonction MB_SEND_MAIL s'appuie sur cette extension pour gérer correctement le codage du contenu des e-mails.

Installez l'extension MBSTring (si elle n'est pas installée)

Pour les systèmes Linux, vous pouvez l'installer en utilisant la commande suivante:

 <span><span>sudo apt-get install php-mbstring
</span></span>

Pour les systèmes Windows, vous pouvez activer l'extension en modifiant le fichier php.ini , trouver la ligne suivante et supprimer le point-virgule précédent ( ; ):

 <span><span><span class="hljs-attr">extension</span></span><span>=mbstring
</span></span>

Lorsqu'il est activé, redémarrez le serveur Web pour que les modifications prennent effet.

2. Écrivez du code pour envoyer le courrier chinois

La syntaxe de base de la fonction MB_SEND_MAIL est la suivante:

 <span><span><span class="hljs-title function_ invoke__">mb_send_mail</span></span><span>(to, subject, message, headers, parameters);
</span></span>
  • à : Adresse e-mail du destinataire.

  • Sujet : Sujet du courrier.

  • Message : corps par e-mail.

  • En-têtes : Informations d'en-tête de courrier électronique.

  • Paramètres : paramètres de courrier supplémentaires (généralement utilisés pour définir les paramètres d'envoi de courrier).

Afin de s'assurer que l'e-mail peut afficher correctement le chinois, nous devons spécifier le codage de caractères correct en sujet et en message , et nous utilisons généralement le codage UTF-8.

3. Exemple de code

Ce qui suit est un exemple d'envoi de courrier chinois à l'aide de la fonction MB_SEND_MAIL :

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Adresse e-mail du destinataire</span></span><span>
</span><span><span class="hljs-variable">$to</span></span><span> = </span><span><span class="hljs-string">"[email protected]"</span></span><span>;

</span><span><span class="hljs-comment">// Sujet par e-mail</span></span><span>
</span><span><span class="hljs-variable">$subject</span></span><span> = </span><span><span class="hljs-string">"测试Sujet par e-mail"</span></span><span>;

</span><span><span class="hljs-comment">// Texte par e-mail</span></span><span>
</span><span><span class="hljs-variable">$message</span></span><span> = </span><span><span class="hljs-string">"Bonjour!Ceci est un e-mail de test,Contient du contenu chinois。"</span></span><span>;

</span><span><span class="hljs-comment">// Définir l&#39;en-tête de l&#39;e-mail,Spécifiez le type de contenu comme UTF-8 Codé HTML mail</span></span><span>
</span><span><span class="hljs-variable">$headers</span></span><span> = </span><span><span class="hljs-string">"MIME-Version: 1.0\r\n"</span></span><span>;
</span><span><span class="hljs-variable">$headers</span></span><span> .= </span><span><span class="hljs-string">"Content-Type: text/html; charset=UTF-8\r\n"</span></span><span>;
</span><span><span class="hljs-variable">$headers</span></span><span> .= </span><span><span class="hljs-string">"From: [email protected]\r\n"</span></span><span>;

</span><span><span class="hljs-comment">// utiliser mb_send_mail 发送mail</span></span><span>
</span><span><span class="hljs-variable">$success</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_send_mail</span></span><span>(</span><span><span class="hljs-variable">$to</span></span><span>, </span><span><span class="hljs-variable">$subject</span></span><span>, </span><span><span class="hljs-variable">$message</span></span><span>, </span><span><span class="hljs-variable">$headers</span></span><span>);

</span><span><span class="hljs-comment">// 判断mail是否发送成功</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$success</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"mail发送成功!"</span></span><span>;
} </span><span><span class="hljs-keyword">else</span></span><span> {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"mail发送失败!"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

4. Expliquez le code

  • Destinataire et expéditeur : Tout d'abord, l'adresse e-mail du destinataire $ et l'adresse e-mail de l'expéditeur sont définies. Dans les applications réelles, l'adresse e-mail de l'expéditeur est généralement lue à partir du fichier de configuration.

  • Sujet et texte du courrier : le sujet et le texte de l'e-mail contiennent du contenu chinois. Dans le sujet et le message , nous ne spécifions pas le codage explicitement, mais dans l'en-tête de messagerie, le codage UTF-8 est spécifié par contenu-type: text / html; Charset = UTF- 8, qui garantit que les caractères chinois ne semblent pas brouillés.

  • Informations d'en-tête de messagerie : En définissant MIME-Version et Content-Type , dites au client de messagerie que le contenu du courrier est le contenu HTML codé UTF-8.

  • Envoyer un e-mail : appelez la fonction MB_SEND_MAIL pour envoyer un e-mail. La valeur de retour de la fonction $ Success est une valeur booléenne, indiquant si l'e-mail est envoyé avec succès.

5. Choses à noter

  • Encodage de caractères : Le codage des personnages de l'e-mail doit être défini sur UTF-8, afin de s'assurer que le courrier chinois ne sera pas brouillé. Vous pouvez explicitement spécifier le jeu de caractères sur UTF-8 dans le type de contenu , tout en garantissant que le contenu du corps et du sujet du message est codé à l'aide de l'UTF-8.

  • Courriel au format HTML : Si le corps de messagerie contient le format HTML (tel que gras, italique, lien, etc.), vous devez spécifier le type de contenu: texte / HTML dans l'en-tête de messagerie, sinon le contenu de l'e-mail sera traité en texte brut.

  • Envoyer et recevoir la configuration du serveur de messagerie : assurez-vous que votre serveur de messagerie est correctement configuré. Si l'envoi d'e-mail échoue, vérifiez la configuration SMTP ou d'autres paramètres d'envoi de messagerie.

6. Résumé

La fonction MB_SEND_MAIL est idéale pour envoyer un courrier chinois en php. Il peut gérer le problème des jeux de caractères multi-octets et éviter les problèmes brouillés courants dans la fonction mail () . En définissant le codage des caractères correct et les informations d'en-tête des e-mails, nous pouvons envoyer avec succès des e-mails contenant du contenu chinois. J'espère que cet article sera utile pour que vous compreniez comment utiliser la fonction MB_SEND_MAIL pour envoyer le courrier chinois.