Laravel(Lumen)でPHP Mailerを使用する
開発環境
Dockerで環境構築
laravel(lumen-framework):5.1
php:7.1.3
phpmailer/phpmailer: ^6.2
コード
//まず、コマンドで下記を実行する。
composer require phpmailer/phpmailer
//○○Controller.phpファイル
//PHP Mailerの使用を宣言
use PHPMailer\PHPMailer;
//——–function内——–
$mail = new PHPMailer\PHPMailer(); //PHP Mailerの使用宣言
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true; // authenticationの有効
$mail->SMTPSecure = ‘ssl’; // 暗号化(他、tls)
//SMTPサーバーの選択 Gmailを利用するなら、下記のように
$mail->Host = “smtp.gmail.com”; //SMTPSecureでsslを選択したら、465 tlsなら587
$mail->Port = 465; // or 587
//HTML形式かTEXT形式か
$mail->IsHTML(false);
$mail->Username = “○○@gmail.com”; //SMTPサーバーのユーザー名
$mail->Password = “○○”; //同じくパスワード
$mail->AddAddress(○○, “受取人”); //宛先
$mail->From = “○○”; //送り主のアドレス
//mb_encode_mimeheader :文字化け対策
$mail->FromName = mb_encode_mimeheader(mb_convert_encoding(“○○”,”JIS”,”UTF-8″)); //送り主の名前
$mail->Subject = mb_encode_mimeheader(mb_convert_encoding(“○○”,”JIS”,”UTF-8″)); //題名
$mail->Body = mb_convert_encoding(○○,”JIS”,”UTF-8″); //本文
if ($mail->Send()){
//送信成功時の処理
}else{
//失敗時の処理
}
$mail->SMTPDebug = 1;
デバッグモードの選択
0:無効
1:クライアントから送信されたメッセージを出力
2:1に加え、サーバーから受信した応答(作成者のおすすめ)
3:2に加え、初期接続に関する詳細情報
4:3に加え、低レベルの情報
※3以上はあまり使わない。
参考URL
https://qiita.com/e__ri/items/857b12e73080019e00b5
https://github.com/PHPMailer/PHPMailer/wiki/SMTP-Debugging

