基本用法
最后更新于:2022-04-01 15:08:54
您可使用 Mail::send 方法来发送电子邮件消息:
~~~
Mail::send('emails.welcome', ['key' => 'value'], function($message)
{
$message->to('foo@example.com', 'John Smith')->subject('Welcome!');
});
~~~
传入 send 方法的第一个参数为邮件视图的名称。第二个是传递给该视图的数据,通常是一个关联式数组,让视图可通过 $key 来取得数据对象。第三个参数是一个闭包,可以对 message 进行各种配置。
> 注意: $message 变量总是会被传入邮件视图中,并且允许内嵌附件。因此最好避免在您的视图本体中传入 message 变量。
除了 HTML 视图外,您也可以指定使用纯文本视图:
~~~
Mail::send(['html.view', 'text.view'], $data, $callback);
~~~
或者,您可使用 html 或 text 作为键值来指定单一类型的视图:
~~~
Mail::send(['text' => 'view'], $data, $callback);
~~~
您也可以在邮件消息中指定其他选项,例如副本收件者或附件:
~~~
Mail::send('emails.welcome', $data, function($message)
{
$message->from('us@example.com', 'Laravel');
$message->to('foo@example.com')->cc('bar@example.com');
$message->attach($pathToFile);
});
~~~
要附加文件至 message 时,可以指定 MIME 的类型、显示名称:
~~~
$message->attach($pathToFile, ['as' => $display], 'mime' => $mime));
~~~
若您只需发送一个简单的字串而非完整的视图,可使用 raw 方法:
~~~
Mail::raw('Text to e-mail', function($message)
{
$message->from('us@example.com', 'Laravel');
$message->to('foo@example.com')->cc('bar@example.com');
});
~~~
> 注意: 传递至 Mail::send 闭包的 message 实例是继承了 SwiftMailer 的 message 类,你可以调用该类的任何方法来建立电子邮件消息。