Closed7
cakephpのメールに日本語ファイル名でファイル添付したい
添付自体の仕方
今回の要件// トランスポート設定
Email::configTransport('default', [
'className' => 'Mail'
]);
// 添付記述
$email->setAttachments([
'MBファイル名.txt' => $file_path
]);
日本語ファイル名を添付したい場合
- filename*={encode_txt} が指定されてる+受信メーラーが対応してること
らしい
実際に送信して受け取ったheader情報
こんな感じだった多分
Content-Disposition: attachment; filename="MBfairu ming.txt"; filename="MBファイル名.txt"
Content-Type: text/plain
Content-Transfer-Encoding: base64
mb_send_mail() を使ってないので、多分 setAttachments の内容をそのまま入れてる
ワンチャン、フラグとかでmb_encode走るんじゃないかな(希望的観測)
send() 時に body(_message) の _render が走って
$hasAttachments がTrueなら body にマージできるよう変換する過程で エンコードはしていないっぽい……MailTransport 使う限り無理では?(諦め)
このスクラップは2020/12/18にクローズされました