お世話になっております。
メールで複数のファイルを添付したいのですが配列にして添付すると文字化けしてしまい送信できません。
現在は$filepath1の一つだけなら正常に送信される状態です。
構造は public$username\ファイル名 のようになっています。
ファイル名は全て '書類1-佐藤-1111-2018-03-26.pdf'
などの形で格納されています。
配列にしてattachに渡すと$filepath2が読み込めませんと出てしまいます。
文字コードをsjis-winに変更して行うと、逆に$filepath1が読み込めませんとなってしまいます。
ファイルを複数添付するにはどうしたらよいのでしょうか?
よろしくお願いします。
php
1public function make_mail(Request $request){ 2 $username = $request->input('name'); 3 $temp1 = $request->input('temp1'); 4 $temp2 = $request->input('temp2'); 5 $temp3 = $request->input('temp3'); 6 $temp4 = $request->input('temp4'); 7 $temp5 = $request->input('temp5'); 8 $temp6 = $request->input('temp6'); 9 10 11 $filepath1 = '/'.mb_convert_encoding($username,'SJIS-win','UTF-8').'/'.mb_convert_encoding($temp1,'SJIS-win','UTF-8'); 12 $filepath2 = '/'.mb_convert_encoding($username,'SJIS-win','UTF-8').'/'.mb_convert_encoding($temp2,'SJIS-win','UTF-8'); 13 $filepath3 = '/'.mb_convert_encoding($username,'SJIS-win','UTF-8').'/'.mb_convert_encoding($temp3,'SJIS-win','UTF-8'); 14 $filepath4 = '/'.mb_convert_encoding($username,'SJIS-win','UTF-8').'/'.mb_convert_encoding($temp4,'SJIS-win','UTF-8'); 15 $filepath5 = '/'.mb_convert_encoding($username,'SJIS-win','UTF-8').'/'.mb_convert_encoding($temp5,'SJIS-win','UTF-8'); 16 $filepath6 = '/'.mb_convert_encoding($username,'SJIS-win','UTF-8').'/'.mb_convert_encoding($temp6,'SJIS-win','UTF-8'); 17 18 $array = [$filepath1,$filepath2,$filepath3,$filepath4,$filepath5,$filepath6]; 19 20 $this->sendMailTo_w($array); 21 22 return view('admin::mail_index'); 23 } 24 25 26 private function sendMailTo_w($pdf){ 27 28 $to = 'sample@gmail.com'; 29 $cc = ''; 30 $bcc = ''; 31 $fromAddress = 'sample@gmail.com'; 32 $fromName = 'aaa'; 33 $subject = 'test'; 34 35 $email = [ 36 'to' => $to, 37 'cc' => $cc, 38 'bcc' => $bcc, 39 'from_address' => $fromAddress, 40 'from_name' => $fromName, 41 'subject' => $subject, 42 'attach' => $pdf 43 ]; 44 45 \Mail::send('admin::mail_temp', compact('email'), function($message) use ($email) { 46 47 if (is_array($email['to'])) { 48 $toArray = $email['to']; 49 } else { 50 $toArray = [$email['to']]; 51 } 52 foreach ($toArray as $key => $value) { 53 $message->to($value); 54 } 55 56 $message->subject($email['subject']); 57 58 if ($email['from_address']) { 59 $message->from($email['from_address'], $email['from_name']); 60 } 61 62 if ($email['cc']) { 63 $message->cc($email['cc']); 64 } 65 66 if ($email['bcc']) { 67 $message->bcc($email['bcc']); 68 } 69 70 if (array_key_exists('attach', $email)) { 71 if (is_array($email['attach'])) { 72 foreach ($email['attach'] as $file) { 73 $message->attach($file); 74 } 75 } 76 else { 77 $message->attach($email['attach']); 78 } 79 } 80 }); 81 }
複数送信できたのですが、ファイル名が文字化けしてしまいます。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/26 23:52 編集
2018/03/27 03:21
退会済みユーザー
2018/03/27 03:37
2018/03/27 04:03
2018/03/27 04:03
退会済みユーザー
2018/03/27 04:17
2018/03/27 04:54
退会済みユーザー
2018/03/27 05:11 編集
2018/03/27 05:39 編集
退会済みユーザー
2018/03/27 05:45
2018/03/27 06:53