PHP - メール送信

PHP スクリプトでメールを送信します。

mb_send_mail - エンコード処理をしてメールを送信をする


public function mb_send_mail($from, $to, $subject, $messages)
{
  mb_language('ja');
  mb_internal_encoding('UTF-8');

  $headers  = "From: $from;\n";
  $headers .= "Reply-To: $from;\n";
  $headers .= "X-Mailer: PHP/". phpversion(). ";\n";

  mb_send_mail($to, $subject, $messages, $headers);
}

機種依存文字や半角カナをエンコードしてメールを送信する

PHP 5.2.1 から、'ISO-2022-JP-MS' を指定することにより、機種依存文字や半角カナをエンコードできるようになりました。


public function mb_send_mail($from, $to, $subject, $messages)
{
  mb_language('ja');
  mb_internal_encoding('UTF-8');

  // PHP >= 5.2.1
  $messages = mb_convert_encoding($messages, 'ISO-2022-JP-MS', 'UTF-8');

  $headers  = "From: $from;\n";
  $headers .= "Reply-To: $from;\n";
  $headers .= "X-Mailer: PHP/". phpversion(). ";\n";

  mb_send_mail($to, $subject, $messages, $headers);
}

mail 関数で多国語メールを送信する

海外サーバーなどで mb_send_mail 関数は使えないが、mbstring 関数(マルチバイト文字列 関数)は使える場合のメール送信。


public function mail($from, $to, $subject, $messages)
{
  mb_language('ja');
  mb_internal_encoding('UTF-8');

  // PHP >= 5.2.1
  $subject  = mb_encode_mimeheader($subject, 'ISO-2022-JP-MS', 'UTF-8');
  $messages = mb_convert_encoding($messages, 'ISO-2022-JP-MS', 'UTF-8');

  $headers  = "From: $from;\n";
  $headers .= "Reply-To: $from;\n";
  $headers .= "X-Mailer: PHP/". phpversion(). ";\n";

  mail($to, $subject, $messages, $headers);
}

Google Sponsored

コメント

このページに関する、ご感想やご質問をお寄せください。
お名前と都道府県名は、正確にお書きください。 - 泰山 -

お名前: *必須
都道府県: *必須
コメント: *必須

まだコメントは有りません。