php mail laravel,邮件 - Laravel - 为 WEB 艺术家创造的 PHP 框架。
郵件
配置
Laravel的郵件功能構建于流行的SwiftMailer庫之上,并提供了簡介、高效的API。郵件配置信息在app/config/mail.php文件中,并提供了包含SMTP主機、端口和證書的配置選項,也可以為發送的郵件配置一個全局from(來自)地址。你可以使用任何的SMTP服務器。如果你希望使用PHP的mail函數來發送郵件,可以通過改變配置文件中的 driver為mail。另外還支持sendmail 。
基本用例
使用Mail::send 方法來發送一封郵件:Mail::send('emails.welcome', $data, function($message)
{
$message->to('foo@example.com', 'John Smith')->subject('Welcome!');
});
傳入send方法的第一個參數為生成郵件體所用的視圖名。第二個參數$data是要傳入視圖的數據,第三個參數為閉包,允許你為郵件配置各種選項。注意: $message變量總是會傳遞到郵件視圖中,它允許你給該郵件內容添加內聯附件。因此應該避免向視圖中傳遞命名為message的變量。
注解: 內聯附件(Inline Attachment):“內聯附件”是指可以在郵件體中直接看到的附件,一般是文本或圖片;“內聯附件”與一般附件的區別在于:一般附件必須在點擊之后才能查看。詳細信息可以看內聯附件與一般附件的區別。
除了HTML視圖,你還可以指定一個純文本視圖:Mail::send(array('html.view', 'text.view'), $data, $callback);
或者,你可以通過html或text關鍵字指定唯一一個視圖類型:Mail::send(array('text' => 'view'), $data, $callback);
你還可以為郵件指定其他選項,例如郵件抄送者或者附件:Mail::send('emails.welcome', $data, function($m)
{
$m->from('us@example.com', 'Laravel');
$m->to('foo@example.com')->cc('bar@example.com');
$m->attach($pathToFile);
});
當你為郵件添加附件時,可以指定MIME類型和/或展示名:$m->attach($pathToFile, array('as' => $display, 'mime' => $mime));注意: 傳遞給Mail::send閉包的消息對象實例繼承自SwiftMailer類,因此,你可以調用任何該類的方法來構建郵件內容。
嵌入內聯附件
郵件中嵌入圖片通常都很麻煩;幸好Laravel提供了很簡便的方法來為你的郵件添加圖片,并取得相應的CID。
在郵件視圖中嵌入內聯圖像
Here is an image:
在郵件視圖中嵌入原始數據
Here is an image from raw data:
注意$message變量總會通過Mail類傳遞給郵件視圖。
隊列郵件
由于發送郵件有可能會使應用程序需要花費較長的響應時間,許多開發者選擇將郵件放入隊列并在后臺發送。Laravel內建了統一隊列 API來簡化此功能。只需調用Mail類的queue方法就可以將郵件放入隊列中:
將一封郵件放入隊列中Mail::queue('emails.welcome', $data, function($m)
{
$m->to('foo@example.com', 'John Smith')->subject('Welcome!');
});
你還可以使用later方法指定延遲多少秒再發送郵件:Mail::later(5, 'emails.welcome', $data, function($m)
{
$m->to('foo@example.com', 'John Smith')->subject('Welcome!');
});
如果你想將郵件放到一個指定的隊列或"管道" ,可以使用queueOn和laterOn方法:Mail::queueOn('queue-name', 'emails.welcome', $data, function($m)
{
$m->to('foo@example.com', 'John Smith')->subject('Welcome!');
});
郵件 & 本地開發環境
當你開發需要發送郵件的應用時,在你本地或開發環境中通常需要禁用郵件發送功能。你可以通過調用Mail::pretend 方法或在 app/config/mail.php 配置文件中設置 pretend 選項為 true 達到這一目的。當郵件發送功能被置為 pretend 模式時,所有郵件都會被寫入當前應用的log文件中,而不會發送給收件人。
啟用Pretend模式Mail::pretend();
總結
以上是生活随笔為你收集整理的php mail laravel,邮件 - Laravel - 为 WEB 艺术家创造的 PHP 框架。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux 命令 语法,linux常用命
- 下一篇: ue4中在物体上加ui_UE4 物体位置