Laravel#Laravel是教學時發出電子郵件的嗎? 》,希望對需要的朋友有幫助!
介紹
#上一章我們為發送電子郵件準備了貼心的表單,完善的資料驗證,那麼這篇我們說明如何在laravel 內發送一封電子郵件。
電子郵件非常方便,大家絕對不要濫用。
程式碼時間
laravel整合了熱門且功能強大的SwiftMailer函式庫,為我們封裝了發送郵件所需的底層邏輯,所以我們只需專注於發送的邏輯,
如何準備電子郵件的內容。
laravel設定檔config/mail.php 內預設的smtp 參數:
'smtp' => [ 'transport' => 'smtp', 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 'port' => env('MAIL_PORT', 587), 'encryption' => env('MAIL_ENCRYPTION', 'tls'), 'username' => env('MAIL_USERNAME'), 'password' => env('MAIL_PASSWORD'), 'timeout' => null, 'auth_mode' => null,],
主要用於指定傳輸協議,主機位址,連接埠號,加密方式,用戶名與密碼等。
因為國外的緣故,預設使用了mailgun作為郵件伺服器,這樣免得使我們自己的郵件伺服器發送的郵件,
被識別為垃圾郵件,影響業務流程。
註冊免費額度的帳戶,可提供每月相應金額的郵件發送數量。申請之後,在 app/services.php 設定檔內可以看到如下程式碼:
'mailgun' => [ 'domain' => env('MAILGUN_DOMAIN'), 'secret' => env('MAILGUN_SECRET'), 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),],
我們把對應的變數在.env檔內宣告即可。
郵件發送類別
把郵件發送邏輯集中起來處理,我們需要把傳入的資料渲染出來,然後使用郵件將其發給使用者。
使用下面的指令產生郵件處理類別:
php artisan make:mail ContactEmail
產生的檔案位於app/Mail/ContactEmail.php,初始內容如下:
namespace App\Mail; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; use Illuminate\Contracts\Queue\ShouldQueue; class ContactEmail extends Mailable { use Queueable, SerializesModels; public function __construct() { // } public function build() { return $this->view('view.name'); } }
實例化的時候,我們需要接收一些資料:
public $contact; public function __construct($contact){ $this->contact = $contact;}
給使用者寄一封樣式友善的郵件,能大大提升使用者的黏度。所以在我們使用視圖渲染郵件:
public function build(){ return $this->to(config('mail.from.address'))->subject('HackerPair Inquiry')->view('emails.contact');}
建立視圖檔案resources/views/emails/contact.blade.php,簡要地編寫資料渲染及格式:
Hi, A Laravel user has sent you a message. Name: {{ $contact['name'] }} E-mail: {{ $contact['email'] }} Message: {{ $contact['msg'] }}
發送郵件
上一篇文章,我們使用$contact 變數接收來自request 請求體的欄位值。
上一節我們又把郵件發送的模板準備好了,“萬事俱備只欠東風”,接下來就是發送郵件的主流程邏輯了!
記得使用之前在頭部引入 App\Mail\ContactEmail:
Mail::to(config('mail.support.address'))->send(new ContactEmail($contact));
沒錯,一行就可以了!
寫在最後
整體而言還很初階,都是藉助第三方的力量在實現功能。
例如郵件伺服器就有很多可自訂方法。還有郵件發送類,可以做很多客製化模板,
那些都是細化的方面了。
以上是你知道Laravel是怎麼發一封電子郵件的嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于单点登录的相关问题,单点登录是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于Laravel的生命周期相关问题,Laravel 的生命周期从public\index.php开始,从public\index.php结束,希望对大家有帮助。

在laravel中,guard是一个用于用户认证的插件;guard的作用就是处理认证判断每一个请求,从数据库中读取数据和用户输入的对比,调用是否登录过或者允许通过的,并且Guard能非常灵活的构建一套自己的认证体系。

laravel中asset()方法的用法:1、用于引入静态文件,语法为“src="{{asset(‘需要引入的文件路径’)}}"”;2、用于给当前请求的scheme前端资源生成一个url,语法为“$url = asset('前端资源')”。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于使用中间件记录用户请求日志的相关问题,包括了创建中间件、注册中间件、记录用户访问等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于laravel的相关知识,其中主要介绍了关于中间件的相关问题,包括了什么是中间件、自定义中间件等等,中间件为过滤进入应用的 HTTP 请求提供了一套便利的机制,下面一起来看一下,希望对大家有帮助。

laravel路由文件在“routes”目录里。Laravel中所有的路由文件定义在routes目录下,它里面的内容会自动被框架加载;该目录下默认有四个路由文件用于给不同的入口使用:web.php、api.php、console.php等。

在laravel中,scope用于处理模型中的数据,在模型中可以定义scope开头方法,这类方法可以通过模型直接调用,被称为查询作用域,语法为“public function scope首字母大写单词($query){...}”。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載
最受歡迎的的開源編輯器

記事本++7.3.1
好用且免費的程式碼編輯器

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),