0
我試着用laravel SMTP發送郵件,如何在laravel中發送電子郵件時附加文件?
Mail::send('mail', $data, function($message) use ($request){
$message->to($request->input('email'), 'Than Htut')->subject
($request->input('subject'));
$message->attach($request->input('resume'));
$message->from('[email protected]','My Name');
});
echo "HTML Email Sent. Check your inbox.";
問題出這樣
Swift_IoException 無法打開文件進行讀取
但是,如果使用像attachData此
Mail::send('mail', $data, function($message) use ($request){
$message->to($request->input('email'), 'Than Htut')->subject
($request->input('subject'));
$message->attachData($request->input('resume'), "haha.pdf");
$message->from('[email protected]','My Name');
});
echo "HTML Email Sent. Check your inbox.";
它的工作,但不能打開文件。 , 這裏是我的fronend部分,
<form class="uk-form-stacked" action="{{ url('jobseekers/send') }}" method="post" id="cv_mail_data">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input type="hidden" name="cv_no" value="{{ $jobseekers->id }}">
<input type="text" placeholder="To" name="email" class="md-input" multiple>
<input type="text" placeholder="To" name="subject" class="md-input" multiple>
<input type="file" name="resume" accept="application/pdf,application/vnd.ms-excel" />
<div class="uk-grid" data-uk-grid-margin>
<div class="uk-width-medium-1-1 parsley-row">
<textarea id="wysiwyg_tinymce" name="cover_letter" cols="30"
rows="20"></textarea>
</div>
</div>
<button type="submit" class="btn btn-primary">
Create
</button>
請指導我,謝謝。
我添加了enctype並嘗試了$ message-> attachData($ request-> file('resume'),'invoice.pdf');像這樣,它仍然無法打開。任何想法先生,無論如何,非常感謝你的答案。 –
嗯,我從來沒有試過直接從表單發送文件到電子郵件,我不認爲你可以直接發送輸入作爲參數,也許你可以嘗試先保存在服務器上,然後發送郵件的路徑保存的文件。 –
$ file = $ request-> file('resume'); $ file-> move('destination-path','file-name');然後在附加數據上發送文件的路徑。 –