1.メール送信の方法

 PHPでメール送信するには2つの関数が用意されている

 「mail関数」で宛先、件名、メッセージ、ヘッダーを指定する方法

$to = "to@example.com";
$subject = "TEST";
$message = "This is TEST.\r\nHow are you?";
$headers = "From: from@example.com";
mail($to, $subject, $message, $headers);

 「mb_send_mail関数」で宛先、件名、メッセージ、ヘッダーを指定する方法

$to = "to@example.com";
$subject = "TEST";
$message = "This is TEST.\r\nHow are you?";
$headers = "From: from@example.com";
mb_send_mail($to, $subject, $message, $headers);

 指定方法は似ているが
   「mb_send_mail関数」の方は日本語(2バイト文字)に対応している
   こちらの方が使用頻度が高いと思われるので、こちらで進める

2.SーJISで送る場合

<?php

//言語設定、内部エンコーディングを指定する
	mb_language("japanese");
	mb_internal_encoding("SJIS");
 
//日本語メール送信
	$to 		= "●●●●●●@gmail.com";
	$subject 	= "SJISで送ります";
	$body 		= "1行目です\n 機種依存文字 ①ⅱ㈱℡\n 拡張文字 髙塚彅﨑德";
	$from 		= "⚪︎⚪︎⚪︎⚪︎@gmail.com";
 
//ちゃんと日本語メールが送信できます
	if (mb_send_mail($to,$subject,$body,"From:".$from))
	  {
  		echo "メールが送信されました。";
	  }
	else
	  {
  	   echo "メールの送信に失敗しました。";
	  }

?>
行番号説明
4〜5言語設定と内部エンコーディングを設定する
 mb_language 日本語を使用する
 mb_internal_encoding Shift-JISコードを使用する
   mb_send_mail関数よりも前に記入する
8〜11宛先、件名、メッセージ、ヘッダーを指定する
 $to    宛先メールアドレス
 $subject  件名
 $body   メッセージ
 $from   送信元としてヘーダーに表示(通常メールアドレス)
14〜21mb_send_mail
 メール送信と後処理

3.UTF-8で送る場合

<?php

//言語設定、内部エンコーディングを指定する
	mb_language("japanese");
	mb_internal_encoding("UTF-8");
 
//日本語メール送信
	$to 		= "●●●●●●@gmail.com";
	$subject 	= "UTF-8で送ります";
	$body 		= "1行目です\n 機種依存文字 ①ⅱ㈱℡\n 拡張文字 髙塚彅﨑德";
	$from 		= "⚪︎⚪︎⚪︎⚪︎@gmail.com";
 
//ちゃんと日本語メールが送信できます
	if (mb_send_mail($to,$subject,$body,"From:".$from))
	  {
  		echo "メールが送信されました。";
	  }
	else
	  {
  	   echo "メールの送信に失敗しました。";
	  }

?>
行番号説明
4〜5言語設定と内部エンコーディングを設定する
 mb_language 日本語を使用する
 mb_internal_encoding UTF-8(Unicode8ビット)を使用する
   mb_send_mail関数よりも前に記入する
8〜11宛先、件名、メッセージ、ヘッダーを指定する
 $to    宛先メールアドレス
 $subject  件名
 $body   メッセージ
 $from   送信元としてヘーダーに表示(通常メールアドレス)
14〜21mb_send_mail
 メール送信と後処理

4.SMTPサーバーの利用

 SMTP(Simple Mail Transfer Protocol)を利用する
   SMTPサーバーで提供される簡易的なメール送信プロトコル
   メリットは、迷惑メールやスパム対策強化になる

 SMTPサーバーは多くのメール送信で利用されており、
   多くの場合、ブラックリストには登録されていないので
   メールの送信や受信する側としても安心できる

 レンタルサーバーだと最初から備わっているが
   念の為「php.iniのmail function 」を確認しておく

[mail function]
; https://php.net/smtp
SMTP = smtp.xxxxx.com
; https://php.net/smtp-port
smtp_port = 587