プロ・クリエータの実践ウェブテクニック集



メール送信 mb_send_mail

 設定された言語に基づいて、自動的に変換してメールを送信します。

 参考: mbstring 日本語文字セットの設定

使用する関数

mb_language()
  • 言語を設定します。有効な言語は、"Japanese", "ja","English","en", "uni" (UTF-8) です。
  • Japaneseの場合はISO-2022-JP/Base64、uniの場合は UTF-8/Base64、Englishの場合はISO-8859-1/quoted printable がそれぞれ設定されます。
  • mb_send_mail()
  • ヘッダと本文は mb_language() の設定に基づいて自動的にエンコードされます。
  • ヘッダは " " を付加することにより複数のオプションを指定可能です。
  • 宛先はカンマで区切ることにより複数のアドレスを指定可能です。 自動的にはエンコードされません。
  • PHP4では常に mb_language で定義された値が用いられていましたが、PHP5.0.0以降では Content-Type および Content-Transfer-Encoding ヘッダの内容が再定義可能になっています。

  • ヘッダ オプション

    From メールの送信者。 必須
    Reply-to メールの返信先。 送信者と異なるメールアドレスに返信してもらいたい場合に記述します。 オプション
    X-Mailer メール送信に使用したソフト名。 オプション

    パラメータ

    to メールの受信者 RFC 2822 を満たす書式でなければ なりません。
    例えば、
  • user@example.com
  • user@example.com, another@example.com
  • User <user@example.com>
  • User <user@example.com>, Another <another@example.com>
  • subject 送信するメールの表題 改行を含んではいけません。
    message 送信するメッセージ 改行コードはLF (\n)となります。
    各行の長さは70文字を超えてはいけません。

    Example Script

    <?php mb_language('ja'); $from = 'info@example.com'; $reply_to = 'nana@example.com'; $to = 'user@example.com, anotheruser@example.com'; $header = "From: $from\n"; $header .= "Reply-To: $reply_to\n"; $header .= "X-Mailer: myphpMail ". phpversion(). "\n"; $subject = "ご機嫌伺い"; $message = "お元気ですか。\n"; $message .= "太郎。\n"; mb_send_mail($to, $subject, $message, $header); ?>