FuelPHP+Xampp+Gmailでメール送信

作成日:2019-09-24, 更新日:2020-09-24

基本

・Gmail側の設定
・Xammp側の設定
・FuelPHPの設定

Gmail側の設定

・Googleにログインして、アカウントを開く
・「セキュリティ」の中にある「安全性の低いアプリのアクセス」を無効にする。

Xammp側の設定

・設定
・文字化け対策の設定(文字化けしないなら対策不要)
※設定完了後→Apacheの再起動

設定

php.ini

・特に変更なければ・・・「C:\xampp\php\php.ini」

;sendmail_path =
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

sendmail.ini

・特に変更なければ・・・「C:\xampp\sendmail\sendmail.ini」

;smtp_server=mail.mydomain.com
smtp_server=smtp.gmail.com
;smtp_port=25
smtp_port=587
;auth_username=
;auth_password=
auth_username=メアド
auth_password=パスワード

文字化け対策の設定(文字化けしないなら対策不要)

php.ini

・特に変更なければ・・・「C:\xampp\php\php.ini」
※メールに限らずPHPとかの文字化けの原因にもなっているので無条件で設定しておいた方がラクかもしれない

default_charset = UTF-8
date.timezone=Asia/Tokyo
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8

FuelPHPの設定

・設定
・文字化け対策の設定(文字化けしないなら対策不要)

設定

config.php

「app\config\config.php」

~略~
'always_load'  => array(
~略~
'packages'  => array(
  ~略~
  'email',
),
~略~

文字化け対策の設定(文字化けしないなら対策不要)

FuelPHP1.8から、少し設定が変わったみたい。

$email = \Email::forge('jis');

// 件名のみしているが・・・全部、エンコードかける必要があるみたい。
$title = '';
$email->subject( mb_convert_encoding($title, 'ISO-2022-JP') );