laravel 發(fā)送電子郵件
laravel使用免費(fèi)功能豐富的庫(kù) swiftmailer 發(fā)送電子郵件。使用庫(kù)函數(shù),我們可以輕松地發(fā)送電子郵件,沒(méi)有太多的麻煩。電子郵件模板的加載方式與視圖相同,這意味著您可以使用blade語(yǔ)法并將數(shù)據(jù)注入到模板中。
下表顯示了發(fā)送功能的語(yǔ)法和屬性 -
句法 | void send(string | array $ view,array $ data,closure | string $ callback) |
參數(shù) | * $ view(string | array) - 包含電子郵件消息的視圖的名稱(chēng) * $ data(array) - 要傳遞的數(shù)據(jù)數(shù)組 * $ callback - 一個(gè)閉包回調(diào),它接收一個(gè)消息實(shí)例,允許您自定義郵件消息的收件人,主題和其他方面 |
返回 | 沒(méi)有 |
描述 | 發(fā)送電子郵件。 |
在第三個(gè)參數(shù)中,$ callback closure收到的消息實(shí)例和那個(gè)實(shí)例,我們也可以調(diào)用以下函數(shù)并修改消息,如下所示。
- $ message→subject('welcome to the tutorials point');
- $ message→from('email@example.com','mr. example');
- $ message→to('email@example.com','mr. example');
一些不常用的方法包括 -
- $ message→sender('email@example.com','mr. example');
- $ message→returnpath('email@example.com');
- $ message→cc('email@example.com','mr. example');
- $ message→bcc('email@example.com','mr. example');
- $ message→replyto('email@example.com','mr. example');
- $ message→priority(2);
要附加或嵌入文件,您可以使用以下方法 -
- $ message→attach('path / to / attachment.txt');
- $ message→embed('path / to / attachment.jpg');
郵件可以作為html或文本發(fā)送。您可以通過(guò)傳遞數(shù)組來(lái)指示您想要在第一個(gè)參數(shù)中發(fā)送的郵件類(lèi)型,如下所示。默認(rèn)類(lèi)型是html。如果您想發(fā)送純文本郵件,請(qǐng)使用以下語(yǔ)法。
句法
mail::send([‘text’=>’text.view’], $data, $callback);
在這種語(yǔ)法中,第一個(gè)參數(shù)需要一個(gè)數(shù)組。使用 文本 作為視圖的鍵名作為鍵的值。
例
第1步 - 我們現(xiàn)在將從gmail帳戶(hù)發(fā)送一封電子郵件,并且您需要在laravel環(huán)境文件 - .env 文件中配置您的gmail帳戶(hù)。在您的gmail帳戶(hù)中啟用兩步驗(yàn)證,然后創(chuàng)建應(yīng)用專(zhuān)用密碼,然后更改.env參數(shù),如下所示。
.env
mail_driver = smtp mail_host = smtp.gmail.com mail_port = 587 mail_username = your-gmail-username mail_password = your-application-specific-password mail_encryption = tls
步驟2 - 更改 .env 文件后,執(zhí)行以下兩條命令清除緩存并重新啟動(dòng)laravel服務(wù)器。
php artisan config:cache
第3步 - 通過(guò)執(zhí)行以下命令創(chuàng)建一個(gè)名為 mailcontroller 的控制器。
php artisan make:controller mailcontroller --plain
第4步 - 成功執(zhí)行后,您將收到以下輸出 -
第5步 - 復(fù)制下面的代碼
app / http / controllers / mailcontroller.php 文件。
應(yīng)用程序/ http /控制器/ mailcontroller.php
namespace app\http\controllers; use illuminate\http\request; use mail; use app\http\requests; use app\http\controllers\controller; class mailcontroller extends controller { public function basic_email(){ $data = array('name'=-->"virat gandhi"); mail::send(['text'=>'mail'], $data, function($message) { $message->to('abc@gmail.com', 'tutorials point')->subject ('laravel basic testing mail'); $message->from('xyz@gmail.com','virat gandhi'); }); echo "basic email sent. check your inbox."; } public function html_email(){ $data = array('name'=>"virat gandhi"); mail::send('mail', $data, function($message) { $message->to('abc@gmail.com', 'tutorials point')->subject ('laravel html testing mail'); $message->from('xyz@gmail.com','virat gandhi'); }); echo "html email sent. check your inbox."; } public function attachment_email(){ $data = array('name'=>"virat gandhi"); mail::send('mail', $data, function($message) { $message->to('abc@gmail.com', 'tutorials point')->subject ('laravel testing mail with attachment'); $message->attach('c:\laravel-master\laravel\public\uploads\image.png'); $message->attach('c:\laravel-master\laravel\public\uploads\test.txt'); $message->from('xyz@gmail.com','virat gandhi'); }); echo "email sent with attachment. check your inbox."; } }
第6步 - 在 resources / views / mail.blade.php 文件中復(fù)制以下代碼。
資源/視圖/ mail.blade.php
<h1>hi, {{ $name }}</h1> lsending mail from laravel.
第7步 - 在 app / http / routes.php中 添加以下行 。
應(yīng)用程序/ http / routes.php文件
route::get('sendbasicemail','mailcontroller@basic_email'); route::get('sendhtmlemail','mailcontroller@html_email'); route::get('sendattachmentemail','mailcontroller@attachment_email');
第8步 - 訪(fǎng)問(wèn)以下url以測(cè)試基本電子郵件。
http://localhost:8000/sendbasicemail
第9步 - 輸出屏幕看起來(lái)像這樣。 檢查您的收件箱以查看基本電子郵件輸出。
第10步 - 訪(fǎng)問(wèn)以下url以測(cè)試html電子郵件。
http://localhost:8000/sendhtmlemail
第11步 - 輸出屏幕看起來(lái)像這樣。 檢查您的收件箱以查看html電子郵件輸出。
第12步 - 訪(fǎng)問(wèn)以下url以測(cè)試帶附件的html電子郵件。
http://localhost:8000/sendattachmentemail
第13步 - 您可以看到以下輸出
注 - 在 mailcontroller.php 文件中,from方法中的電子郵件地址應(yīng)該是您可以從中發(fā)送電子郵件地址的電子郵件地址。通常,它應(yīng)該是您的服務(wù)器上配置的電子郵件地址。
- CodeIgniter MVC 框架
- CodeIgniter 基本概念
- CodeIgniter 配置
- CodeIgniter 庫(kù)
- CodeIgniter Flashdata
- CodeIgniter 臨時(shí)數(shù)據(jù)
- CodeIgniter 安全
- CakePHP 服務(wù)
- CakePHP Cookie 管理
- CakePHP 驗(yàn)證
- FuelPHP 配置
- FuelPHP 控制器
- FuelPHP 演示者
- FuelPHP 模型和數(shù)據(jù)庫(kù)
- FuelPHP 文件上傳
- FuelPHP Ajax
- FuelPHP 分析器
- FuelPHP 工作示例
- Laravel視圖
- Laravel Blade模板