从表单发送文件
Send file from form
我需要将联系表中的文件 (pdf) 发送到电子邮件中。
现在我可以发送带有空 pdf 文件的电子邮件。
这是我控制器中的代码。谢谢!
public function send(ContactFormRequest $request)
{
$data = $request->all();
Mail::send('emails.contact', $data, function ($message) use ($data) {
$message->from('contact@example.com', 'Contact Form');
$message->to('me@mail.com')->subject('test');
if($data['document'] != '')
{
$message->attachData($data['document'], $data['document']->getClientOriginalName());
}
});
return "Your email has been sent successfully";
}
要附加文件,您可以使用以下选项:
// Attach a file from location
$message->attach($pathToFile, array $options = []);
// Attach a file from a raw $data string...
$message->attachData($data, $name, array $options = []);
参考下面link :
Sending a file via form to email with Laravel (Localhost)
您在使用 PHPMailer 吗?
要使用 PHPMailer:
从这里下载 PHPMailer 脚本:http://github.com/PHPMailer/PHPMailer
解压缩存档并将脚本的文件夹复制到方便的位置
放置在您的项目中。
包括主脚本文件 --
require_once('path/to/file/class.phpmailer.php');
设置Headers:
$header .= "Content-Type: application/octet-stream; name=\"".$filename."\"\r\n";
$header .= "Content-Transfer-Encoding: base64\r\n";
$header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
还有:PHPMailer,它自己提供,
$email = new PHPMailer();
$file_to_attach = 'filepath';
$email->AddAttachment($file_to_attach , 'filename + file extension');
$email->Send();
现在可以正常使用了。
我改了
$message->attachData($data['document'], $data['document']->getClientOriginalName());
来自
$message->attach( $data['document']->getRealPath(), [
'as' => $data['document']->getClientOriginalName(),
'mime' => $data['document']->getMimeType()
]);
我需要将联系表中的文件 (pdf) 发送到电子邮件中。
现在我可以发送带有空 pdf 文件的电子邮件。
这是我控制器中的代码。谢谢!
public function send(ContactFormRequest $request)
{
$data = $request->all();
Mail::send('emails.contact', $data, function ($message) use ($data) {
$message->from('contact@example.com', 'Contact Form');
$message->to('me@mail.com')->subject('test');
if($data['document'] != '')
{
$message->attachData($data['document'], $data['document']->getClientOriginalName());
}
});
return "Your email has been sent successfully";
}
要附加文件,您可以使用以下选项:
// Attach a file from location
$message->attach($pathToFile, array $options = []);
// Attach a file from a raw $data string...
$message->attachData($data, $name, array $options = []);
参考下面link : Sending a file via form to email with Laravel (Localhost)
您在使用 PHPMailer 吗?
要使用 PHPMailer:
从这里下载 PHPMailer 脚本:http://github.com/PHPMailer/PHPMailer
解压缩存档并将脚本的文件夹复制到方便的位置 放置在您的项目中。
包括主脚本文件 -- require_once('path/to/file/class.phpmailer.php');
设置Headers:
$header .= "Content-Type: application/octet-stream; name=\"".$filename."\"\r\n";
$header .= "Content-Transfer-Encoding: base64\r\n";
$header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
还有:PHPMailer,它自己提供,
$email = new PHPMailer();
$file_to_attach = 'filepath';
$email->AddAttachment($file_to_attach , 'filename + file extension');
$email->Send();
现在可以正常使用了。
我改了
$message->attachData($data['document'], $data['document']->getClientOriginalName());
来自
$message->attach( $data['document']->getRealPath(), [
'as' => $data['document']->getClientOriginalName(),
'mime' => $data['document']->getMimeType()
]);