現在の位置: ホーム> 最新記事一覧> MB_SEND_MAIL関数を使用して中国のメールを送信する方法は?詳細なステップ分析

MB_SEND_MAIL関数を使用して中国のメールを送信する方法は?詳細なステップ分析

gitbox 2025-09-25

PHPでは、 MB_SEND_MAIL関数は、特に中国語またはその他のマルチバイト文字を含むメールを送信するのに適した、メールを送信するためのマルチバイト文字がサポートするメール送信機能です。 Mail()関数と比較して、 MB_SEND_MAILは、UTF-8エンコードされた文字セットをより適切に処理でき、文字化けコードの問題を回避できます。この記事では、コードの例やステップ分析など、 MB_SEND_MAIL関数を使用して中国の郵便を送信する方法を詳細に紹介します。

1.環境がMbstring拡張機能をサポートしていることを確認します

MB_SEND_MAIL関数を使用する前に、まずPHP環境にMBSTRing拡張機能がインストールされ、有効になっていることを確認する必要があります。 MbStringは、PHPでマルチバイト文字を処理するための拡張ライブラリです。 MB_SEND_MAIL関数は、この拡張機能に依存して、電子メールコンテンツのエンコードを正しく処理します。

MBSTRING拡張機能をインストールする(インストールされていない場合)

Linuxシステムの場合、次のコマンドを使用してインストールできます。

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

Windowsシステムの場合、 PHP.iniファイルを変更して拡張機能を有効にし、次の行を見つけて、以前のSemicolon( ; )を削除できます。

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

有効になったら、Webサーバーを再起動して変更を有効にします。

2。中国の郵便を送信するコードを書きます

MB_SEND_MAIL関数の基本的な構文は次のとおりです。

 <span><span><span class="hljs-title function_ invoke__">mb_send_mail</span></span><span>(to, subject, message, headers, parameters);
</span></span>
  • 宛先:受信者のメールアドレス。

  • 件名:郵便件名。

  • メッセージ:電子機関に電子メールを送信します。

  • ヘッダー:ヘッダー情報を電子メールで送信します。

  • パラメーター:追加のメールパラメーター(通常、メールの送信パラメーターを設定するために使用されます)。

電子メールが中国語を正しく表示できるようにするには、サブジェクトメッセージで正しい文字エンコードを指定する必要があり、通常はUTF-8エンコードを使用します。

3。サンプルコード

以下は、 mb_send_mail関数を使用して中国の郵便を送信する例です。

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 受信者のメールアドレス</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">// 電子メールの件名</span></span><span>
</span><span><span class="hljs-variable">$subject</span></span><span> = </span><span><span class="hljs-string">"测试電子メールの件名"</span></span><span>;

</span><span><span class="hljs-comment">// 電子メールテキスト</span></span><span>
</span><span><span class="hljs-variable">$message</span></span><span> = </span><span><span class="hljs-string">"こんにちは!これはテストメールです,中国のコンテンツが含まれています。"</span></span><span>;

</span><span><span class="hljs-comment">// メールヘッダーを設定します,コンテンツタイプを指定します UTF-8 エンコード HTML 郵便</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">// 使用 mb_send_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">// 判断郵便是否发送成功</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">"郵便发送成功!"</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">"郵便发送失败!"</span></span><span>;
}
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

4.コードを説明します

  • 受信者と送信者:最初に、受信者のメールアドレス$と送信者のメールアドレスが定義されています。実際のアプリケーションでは、送信者の電子メールアドレスは通常、構成ファイルから読み取られます。

  • メールの件名とテキスト:電子メールの件名とテキストの両方には、中国のコンテンツが含まれています。件名メッセージでは、エンコーディングを明示的に指定するのではありませんが、電子メールヘッダーでは、UTF-8エンコーディングがContent-Type:Text/HTMLによって指定されます。 charset = utf- 8は、漢字が文字化けしないようにします。

  • メールヘッダー情報MIME-versionコンテンツタイプを設定することにより、メールクライアントに、メールコンテンツがUTF-8エンコードHTMLコンテンツであることを伝えます。

  • 電子メールの送信MB_SEND_MAIL関数に電話して電子メールを送信します。 function $ successの返品値はブール値であり、電子メールが正常に送信されるかどうかを示します。

5。注意すべきこと

  • 文字エンコーディング:中国の郵便物が書かれていないことを確認するために、電子メールの文字エンコードをUTF-8に設定する必要があります。コンテンツタイプUTF-8にキャラクターセットを明示的に指定でき、メッセージの本体と被験者のコンテンツがUTF-8を使用してエンコードされるようにします。

  • HTML形式の電子メール:電子メール本文にHTML形式(太字、斜体、リンクなど)が含まれている場合、電子メールヘッダーにコンテンツタイプ:テキスト/HTMLを指定する必要があります。

  • 電子メールサーバーの構成を送信および受信:メールサーバーが正しく構成されていることを確認してください。電子メールの送信に失敗した場合は、SMTP構成またはその他の電子メール送信パラメーターを確認してください。

6。概要

MB_SEND_MAIL関数は、PHPで中国の郵便を送信するのに最適です。マルチバイト文字セットの問題を処理し、メール()関数の一般的な文字化けの問題を回避できます。正しい文字エンコードとメールのヘッダー情報を設定することにより、中国のコンテンツを含む電子メールを正常に送信できます。この記事がMB_SEND_MAIL関数を使用して中国の郵便を送信する方法を理解するのに役立つことを願っています。