laravel-5 - 在 Laravel 中通过电子邮件发送图像
问题描述
我正在尝试向新注册的用户发送自动回复,并且我想向他们发送图像而不是文本,但是当我尝试发送图像时,邮件确实发送了但收到的图像已损坏。我研究了 StackOverflow 的许多答案,并尝试了互联网上的许多其他解决方案,但似乎没有任何效果。
我的邮件类:
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class autoMail extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->subject("Subject")
->view('emails.autoemail');
}
}
这是我调用这个邮件类的函数。
Mail::to($request->email)->send(new autoMail());
最后但并非最不重要的一点是我将通过电子邮件发送的观点。
<!DOCTYPE html>
<html>
<head>
<title>Auto Email</title>
</head>
<body>
<img src="{{ asset('img/email.png') }}">
</body>
</html>
解决方案
您可以通过该with()
方法手动将数据传递给视图。
class autoMail extends Mailable
{
use Queueable, SerializesModels;
public function build()
{
$image = env('APP_URL')."/img/email.png";
return $this->subject("Subject")
->view('emails.autoemail')
->with(['image' => $image]);
}
}
一旦数据被传递给with()
方法,它将自动在您的视图中可用,因此您可以像访问 Blade 模板中的任何其他数据一样访问它:
<!DOCTYPE html>
<html>
<head>
<title>Auto Email</title>
</head>
<body>
<img src="{{ $image }}">
</body>
</html>
推荐阅读
- python - 如何通过列值的条件删除 DataFrame 中的行
- angular - ng-template 中的 *ngif 不起作用 - Angular
- python - Discord.py ping 命令在 cog 中不起作用
- assembly - 所有线程中的 TLS 数据地址相同
- javascript - 为什么 jQuery 选择器 ':not' 不起作用?
- html - 如何在引导程序中制作响应式视频?
- ios - 引发错误时,URLSession.DataTaskPublisher 不发布值
- ssl - TinyGet 在执行 TLS 1.2 后无法工作
- javascript - 获取单击的按钮javascript的值
- node.js - 在“/usr/local/lib/node_modules/npm/lib”中安装基本节点包