【问题标题】:Laravel Email AttachmentLaravel 电子邮件附件
【发布时间】:2016-12-17 14:02:30
【问题描述】:

我认为这里有一个错误。

$file = $request->file('upload_cv');

$fileName = $file->getClientOriginalName();

$request->file('upload_cv')->move("cv/", $fileName);

$tambah->upload_cv = $fileName;

$tambah->save();

$email = DB::table('user')->where('email');

Mail::send('emails.welcome', array(
    'email'  =>  $request['email'],
    'HP'     =>  $request['kontak'],
    'nama'   =>  $request['nama'],
    'posisi' =>  $request['posisi'],
    'CV'     =>  $tambah->upload_cv = $fileName
), function ($message) use ($request, $tambah, $email, $file) 
{
    $message->from('MYEMAIL@gmail.com', $request->posisi);      
    $message->to('THEIREMAIL@gmail.com')
            ->subject('Lamaran Baru')
            ->cc('SOMEPERSON@yahoo.com.sg')
            ->attach($file)
            ->replyTo($request->email);

    $message->getSwiftMessage();
});

return redirect()->to('index');

当我点击提交时发生错误,它加载永远卡在当前表单上。如果我删除->attach($file),它将被重定向到索引,这意味着它有效。但是如果我把 ->attach($file) 放在它总是加载并且仍然在当前页面上。

请解释发生了什么问题,谢谢。

【问题讨论】:

  • 您要附加的附件有多大?它可能还在上传。

标签: php laravel email oop attachment


【解决方案1】:

attach 方法需要文件路径,但您直接从请求中传递 UploadedFile 实例。而是使用文件的路径,以便 laravel 可以找到并将其附加到您的邮件中。

您必须传递文件的完整路径。例如,如果您将文件上传到 cv 文件夹内的项目根目录中。例如

  • 项目根目录
    • 简历

那你就可以这样写了。

->attach( base_path( "cv/" . $file->getClientOriginalName() ) );

【讨论】:

    猜你喜欢
    • 2015-12-26
    • 2020-08-11
    • 2016-11-30
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    相关资源
    最近更新 更多