【问题标题】:How to attach file while sending email in laravel?在laravel中发送电子邮件时如何附加文件?
【发布时间】:2017-07-09 23:05:38
【问题描述】:

我尝试使用 laravel smtp 发送电子邮件,

 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('myemail@gmail.com','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('myemail@gmail.com','My Name');
  });
  echo "HTML Email Sent. Check your inbox.";

它的工作,但无法打开文件。 , 这是我的前端部分,

<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>

请指导我,谢谢。

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    首先,您的表单中的enctype="multipart/form-data" 属性在哪里? 其次,要在 laravel 上检索文件,请使用文件方法 $request-&gt;file('your-file');

    【讨论】:

    • 我添加了 enctype 并尝试了 $message->attachData($request->file('resume'), 'invoice.pdf');又是这样,还是打不开。任何想法先生,无论如何,非常感谢你的回答。
    • 嗯,我从未尝试过将文件直接从表单发送到电子邮件,我认为您不能直接将输入作为参数发送,也许您可​​以先尝试将其保存在服务器上然后发送带有保存文件路径的电子邮件。
    • $file = $request->file('resume'); $file->move('目标路径', '文件名');然后在附加数据上发送文件的路径。
    • 是的,有可能,先保存到服务器然后使用那个destination-path,我会试试的。谢谢阿吉安先生。
    猜你喜欢
    • 2013-03-18
    • 1970-01-01
    • 2018-04-13
    • 2014-10-10
    • 2021-03-06
    相关资源
    最近更新 更多