Laravel 电子邮件附件
Laravel Email Attachment
我认为这里有一个错误。
$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)
它总是加载并且仍然在当前页面上。
请说明是什么问题,之前谢谢了。
attach
方法需要文件路径,但您直接从请求传递 UploadedFile
实例。而是使用文件的路径,以便 laravel 可以找到并将其附加到您的邮件中。
您必须传递文件的完整路径。例如,如果您要在 cv 文件夹内的项目根目录中上传文件。例如
- 项目根目录
- 简历
那你可以这样写
->attach( base_path( "cv/" . $file->getClientOriginalName() ) );
我认为这里有一个错误。
$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)
它总是加载并且仍然在当前页面上。
请说明是什么问题,之前谢谢了。
attach
方法需要文件路径,但您直接从请求传递 UploadedFile
实例。而是使用文件的路径,以便 laravel 可以找到并将其附加到您的邮件中。
您必须传递文件的完整路径。例如,如果您要在 cv 文件夹内的项目根目录中上传文件。例如
- 项目根目录
- 简历
那你可以这样写
->attach( base_path( "cv/" . $file->getClientOriginalName() ) );