我正在使用Laravel 4开发网站,并希望在测试期间发送自己的临时电子邮件,但似乎发送电子邮件的唯一方法是通过视图。
是否可以做这样的事情?
Mail::queue('This is the body of my email', $data, function($message)
{
$message->to('foo@example.com', 'John Smith')->subject('This is my subject');
});
答案 0 :(得分:38)
如Laravel mail: pass string instead of view的答案所述,你可以这样做(代码从Jarek的答案中逐字复制):
Mail::send([], [], function ($message) {
$message->to(..)
->subject(..)
// here comes what you want
->setBody('Hi, welcome user!');
});
您也可以使用空视图,将其放入app / views / email / blank.blade.php
{{{ $msg }}}
没有别的。然后你编码
Mail::queue('email.blank', array('msg' => 'This is the body of my email'), function($message)
{
$message->to('foo@example.com', 'John Smith')->subject('This is my subject');
});
这使您可以从应用程序的不同部分发送自定义空白电子邮件,而无需为每个部分创建不同的视图。
答案 1 :(得分:13)
如果您只想发送文字,可以使用附带的方法:
Mail::raw('Message text', function($message) {
$message->from('us@example.com', 'Laravel');
$message->to('foo@example.com')->cc('bar@example.com');
});
答案 2 :(得分:0)
不,开箱即用的Laravel Mail你必须传递一个视图,即使它是空的。您需要编写自己的邮件程序以启用该功能。