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のパスワードを入力 |
関連の記事