In PHP handelt es sich bei der Funktion MB_SEND_MAIL eine Multibyte-Zeichensendungsfunktion zum Senden von E-Mails, insbesondere zum Senden von E-Mails mit chinesischen oder anderen Multibyte-Zeichen. Im Vergleich zur Funktion mail () kann mb_send_mail die utf-8-codierten Zeichensätze besser verarbeiten und das Problem des verstümmelten Code vermeiden. In diesem Artikel wird detailliert vorgestellt, wie die Funktion MB_SEND_MAIL zum Senden chinesischer Mails einschließlich Code -Beispiele und Schrittanalyse verwendet wird.
Bevor Sie die Funktion MB_SEND_MAIL verwenden, müssen Sie zunächst sicherstellen, dass Ihre PHP -Umgebung über Mbstring -Erweiterungen installiert und aktiviert ist. Mbstring ist eine Erweiterungsbibliothek zur Verarbeitung von Multibyte -Zeichen in PHP. Die Funktion mb_send_mail basiert auf dieser Erweiterung, um die Enkodierung von E -Mail -Inhalten korrekt zu verarbeiten.
Für Linux -Systeme können Sie es mit dem folgenden Befehl installieren:
<span><span>sudo apt-get install php-mbstring
</span></span>Für Windows -Systeme können Sie die Erweiterung aktivieren, indem Sie die Php.ini -Datei ändern, die folgende Zeile finden und das vorherige Semikolon ( ; ) entfernen:
<span><span><span class="hljs-attr">extension</span></span><span>=mbstring
</span></span>Starten Sie beim Aktivieren den Webserver neu, damit die Änderungen wirksam werden.
Die grundlegende Syntax der Funktion mb_send_mail lautet wie folgt:
<span><span><span class="hljs-title function_ invoke__">mb_send_mail</span></span><span>(to, subject, message, headers, parameters);
</span></span>An : Empfänger -E -Mail -Adresse.
Betreff : Mail -Betreff.
Nachricht : E -Mail -Körper.
Header : E -Mail -Header -Informationen.
Parameter : Zusätzliche Mail -Parameter (normalerweise zum festgelegten E -Mail -Sendenparametern verwendet).
Um sicherzustellen, dass die E-Mail Chinesen korrekt anzeigen kann, müssen wir die korrekte Zeichenkodierung in Betreff und Nachricht angeben, und normalerweise verwenden wir die UTF-8-Codierung.
Das Folgende ist ein Beispiel für das Senden chinesischer Mail mit der Funktion MB_SEND_MAIL :
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// Empfänger -E -Mail -Adresse</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">// E -Mail -Betreff</span></span><span>
</span><span><span class="hljs-variable">$subject</span></span><span> = </span><span><span class="hljs-string">"测试E -Mail -Betreff"</span></span><span>;
</span><span><span class="hljs-comment">// E -Mail -Text</span></span><span>
</span><span><span class="hljs-variable">$message</span></span><span> = </span><span><span class="hljs-string">"Hallo!Dies ist eine Test -E -Mail,Enthält chinesischen Inhalt。"</span></span><span>;
</span><span><span class="hljs-comment">// Stellen Sie den E -Mail -Header ein,Geben Sie den Inhaltstyp an als an UTF-8 Codiert HTML Post</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">// verwenden mb_send_mail 发送Post</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">// 判断Post是否发送成功</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">"Post发送成功!"</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">"Post发送失败!"</span></span><span>;
}
</span><span><span class="hljs-meta">?></span></span><span>
</span></span>Empfänger und Absender : Erstens werden die E -Mail -Adresse des Empfängers $ an und die E -Mail -Adresse des Absenders definiert. In den tatsächlichen Anwendungen wird die E -Mail -Adresse des Absenders normalerweise aus der Konfigurationsdatei gelesen.
E -Mail -Betreff und Text : Sowohl der Betreff als auch der Text der E -Mail enthalten chinesische Inhalte. In Betreff und Nachricht geben wir die Codierung nicht explizit an, aber im E-Mail-Header wird die UTF-8-Codierung durch Inhaltstyp angegeben: text/html; charset = utf- 8, was sicherstellt, dass chinesische Zeichen nicht verstümmelt erscheinen.
Informationen zur E-Mail-Header : Teilen Sie dem E-Mail-Client mit, dass der E-Mail-Inhalt der UTF-8-codierte HTML-Inhalt ist, indem Sie den E- Mail -Client einstellen.
E -Mail senden : Rufen Sie die Funktion mb_send_mail an, um E -Mails zu senden. Der Rückgabewert der Funktion $ $ Erfolg ist ein boolescher Wert, der angibt, ob die E -Mail erfolgreich gesendet wird.
Charaktercodierung : Die Charaktercodierung der E-Mail muss auf UTF-8 festgelegt werden, um sicherzustellen, dass die chinesische Post nicht verstümmelt wird. Sie können den auf UTF-8 festgelegten Zeichen ausdrücklich im Inhaltstyp angeben und sicherstellen, dass der Körper- und Betreffinhalt der Nachricht mit UTF-8 codiert wird.
E-Mail mit HTML-Format : Wenn das E-Mail-Körper das HTML-Format (z. B. fett, kursiv, link usw.) enthält, müssen Sie den Inhaltstyp angeben: Text/HTML im E-Mail-Header, andernfalls wird der E-Mail-Inhalt als einfacher Text behandelt.
Senden und Empfangen Sie E -Mail -Serverkonfiguration : Stellen Sie sicher, dass Ihr E -Mail -Server korrekt konfiguriert ist. Wenn das Senden des E -Mail fehlschlägt, überprüfen Sie die SMTP -Konfiguration oder andere E -Mail -Sendeparameter.
Die Funktion mb_send_mail ist ideal für das Senden chinesischer Mail in PHP. Es kann das Problem der Multi-Byte-Zeichensätze behandeln und die gängigen verstümmelten Probleme in der E-Mail () -Funktion vermeiden. Durch Festlegen der korrekten Charaktercodierung und E -Mail -Header -Informationen können wir erfolgreich E -Mails mit chinesischen Inhalten senden. Ich hoffe, dieser Artikel wird für Sie hilfreich sein, um zu verstehen, wie Sie die Funktion mb_send_mail verwenden, um chinesische Mails zu senden.