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

PHPのメールを送信するサンプルです。
mb_send_mail関数を使用します。

確認環境
・PHP 7.1.8
・XAMPP 7.1.8
・Windows 10

目次

mb_send_mail関数

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

メール送信のサンプル

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

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

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

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

ローカルの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サーバはGmailを使用しました。ただし初回実行時はGmailで「ブロックされたログインについてご確認ください」というメールがきて実行できません。Gmailの設定の「安全性の低いアプリへのアクセス」を有効にすると試すことができるようになります。普段使用しているメールアドレスで試さないほうがよいと思われます。

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

関連の記事

XAMPPをインストールする手順(Windows10)

△上に戻る