PHP メールを送信するサンプル(mb_send_mail)

PHPのmb_send_mail関数でメールを送信するサンプルです。
(確認環境:PHP 7,XAMPP 7.1.8,Windows 10)

目次

サンプル メールを送信する
  ローカルのXAMPPからメール送信するときの設定

メールを送信する

mb_send_mail ( 送信先アドレス , タイトル , メール本文 , オプション)
  • mb_send_mail関数は、エンコード変換を行ってメールを送信します。
  • オプションは、From、Cc、Bccを指定します。
  • 以下は、PHPマニュアルのmb_send_mail関数のサンプルです。
    http://php.net/manual/ja/function.mb-send-mail.php

メール送信するコードです。

<?php
//言語と文字コードを設定
mb_language("Japanese"); 
mb_internal_encoding("UTF-8");

//メールの情報を設定
$mailto = "test1@example.com";
$title = "タイトルテスト";
$message = "本文のテスト\r\n改行します。";
$option= "From:".mb_encode_mimeheader("送信者2")."<test2@example.com>";

//メールの送信
if(mb_send_mail($mailto,$title,$message,$option)){
	echo "送信成功";
}else{
	echo "送信失敗";
}
?>

3,4行目は、言語の日本語と文字コードのUTF-8を指定しています。
7行目は、メールの送信先アドレスです。
8行目は、メールのタイトルです。
9行目は、メール本文です。改行の場合は改行コード(\r\n)を使用します。
10行目は、送信元のFromを指定しています。"From:"は、mb_send_mail関数で、sendmail.exeを使用している場合は必要です。(sendmail.iniに記述あり)。
オプションの箇所はエンコードされないのでmb_encode_mimeheader関数でMIMEヘッダの日本語の文字列をエンコードしています。
13行目は、mb_send_mail関数でメールを送信します。

 

ローカルのXAMPPからメール送信するときの設定

ローカルのXAMPPからメール送信するときの設定です。
php.iniとsendmail.iniを修正します。
iniファイルを修正した後はapacheの再起動が必要です。

php.ini

サンプルの環境では、D:\xampp\php配下にありました。

項目
sendmail_path sendmail.exeのパスを指定します。
"\"D:\xampp\sendmail\sendmail.exe\" -t"

sendmail.ini

サンプルの環境では、D:\xampp\sendmail配下にありました。

項目
smtp_server smtpサーバを指定します。
smtp_port smtpのポート番号を指定します。
auth_username 自分のmailのアドレスを指定。xxxx@example.com
auth_password 自分のmailのパスワードを入力

関連の記事

XAMPP インストールとHello Worldを表示

△上に戻る