Laravel 邮件:传递字符串而不是视图
2022-08-30 08:19:42
我想使用 laravel 发送确认电子邮件。laravel Mail::send() 函数似乎只接受系统上文件的路径。问题是我的邮件模板存储在数据库中,而不是存储在系统上的文件中。
如何将普通内容传递到电子邮件?
例:
$content = "Hi,welcome user!";
Mail::send($content,$data,function(){});
我想使用 laravel 发送确认电子邮件。laravel Mail::send() 函数似乎只接受系统上文件的路径。问题是我的邮件模板存储在数据库中,而不是存储在系统上的文件中。
如何将普通内容传递到电子邮件?
例:
$content = "Hi,welcome user!";
Mail::send($content,$data,function(){});
2022 年 7 月 20 日更新:对于更多最新版本的 Laravel,下面 Mail::send()
示例中的 setBody
() 方法已替换为 text()
或 html()
方法。
更新:在Laravel 5中,你可以改用:raw
Mail::raw('Hi, welcome user!', function ($message) {
$message->to(..)
->subject(..);
});
这是你如何做到的:
Mail::send([], [], function ($message) {
$message->to(..)
->subject(..)
// here comes what you want
->setBody('Hi, welcome user!'); // assuming text/plain
// or:
->setBody('<h1>Hi, welcome user!</h1>', 'text/html'); // for HTML rich messages
});
对于 Html 电子邮件
Mail::send(array(), array(), function ($message) use ($html) {
$message->to(..)
->subject(..)
->from(..)
->setBody($html, 'text/html');
});