PHP | mb_send_mail()関数でメールを送信する方法

PHP メール,PHP

PHP | mb_send_mail()関数でメールを送信する方法

PHPを利用してメールを送信する方法とサンプルコードを紹介しています。

確認環境

エックスサーバー
PHP 8.016

PHPからメールを送信する

PHPのmb_send_mail()関数を利用して日本語を含むメールを送信する事が可能です。

b_send_mail()関数は、オプション引数として「送信先メールアドレス」「メールタイトル」「メール本文」「メールヘッダ情報」という順番で指定します。

以下のサンプルコードでは、最低限必要なオプション引数、メールヘッダ情報を記述しています。
送信するサーバーなどの環境に応じて必要なメールヘッダ情報を追記する必要がある場合があります。

// 言語設定、文字化け対策
mb_language("ja");
mb_internal_encoding("UTF-8");

// 送信先メールアドレス
$to = 'to@example.com';
// 送信元メールアドレス
$from =  'from@example.com';
// メールタイトル
$subject = 'メールタイトル';
//メール本文
$content = 'メール本文';

// メールヘッダ
$header = array(
	'From: ' . $from, // 送信元のアドレス
	'Sender: ' . $from // 送信先のアドレス
);

// ヘッダ要素を文字列に変換
$header = implode("\n", $header);

// メール送信
$result = mb_send_mail($to, $subject, $content, $header);

以下にメールヘッダに含ませる事が可能な主な情報オプションと記述方法を紹介しています。

$header = array(
    'Content-Type: text/plain', // テキスト形式のコンテンツタイプ
    'From: ' . $from, // 送信元のアドレス
    'To: ' . $to, // 送信先のアドレス
    'Sender: ' . $from, // 送信元
    'Reply-To: ' . $from, // 返信先
    'Organization: ' . $from, // 組織情報
    'Subject: ' . $subject, // メールの件名
    'X-Sender: ' . $from, // 送信元(X-Senderヘッダー)
    'X-Priority: 3', // 送信優先度、重要度、デフォルト値は「3」
);

PHP メール,PHP

Posted by Yousuke.U