ラボ > FuelPHP:エラー絡み

FuelPHPでメール送信で文字化け

作成日:2020-06-23, 更新日:2020-06-23

基本

・config/email.phpを用意
・config/email.phpを編集

config/email.phpを用意

「fuel/packages/email/config/email.php」を「fuel/app/config/」の下に複製。
※「fuel/app/config/email.php」を作る

config/email.phpを編集

複製した「fuel/app/config/email.php」を編集。

▼setupsの中に設定を追加

~省略~
'setups' => array(
	~省略~
	'jis'     => array(
	               'charset' => 'ISO-2022-JP',
	               'encoding' => '7bit',
	             ),
),
~省略~

▼もしくは「charset」「encoding」がいるなら下記のような感じでも大丈夫

~省略~
'setups' => array(
	'default' => array(),
),
~省略~
'charset' => 'ISO-2022-JP',
~省略~
'encoding' => '7bit',
~省略~

メール送信

インスタンス作成時

▼上記で作った「jis」を引数にしてインスタンス作成

$email = \Email::forge('jis');
$email->to(〇〇〇);
~省略~
$email->send();

※setupsの中にjisを作らなかった場合、引数は無くても良さげ。

本文等をセットする際

$body = mb_convert_encoding(〇〇〇〇, 'ISO-2022-JP', 'UTF-8');
$email->body( $body );

※タイトル等、他も同様。