你知道Laravel是怎么发出一封电子邮件的吗?
下面由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));
没错,一行就可以了!
写在最后
整体而言还很初阶,都是借助于第三方的力量在实现功能。
比如邮件服务器就有很多可定制方法。还有邮件发送类,可以做很多定制模板,
那些都是细化的方面了。
Atas ialah kandungan terperinci 你知道Laravel是怎么发出一封电子邮件的吗?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

Kaedah untuk mendapatkan kod kembali apabila menghantar e -mel Laravel gagal. Apabila menggunakan Laravel untuk membangunkan aplikasi, anda sering menghadapi situasi di mana anda perlu menghantar kod pengesahan. Dan pada hakikatnya ...
