Halo semuanya, kembali lagi di artikel barajacoding dan di artikel ini, seperti judulnya, kita akan membahas salah satu fitur terkeren yang disediakan oleh framework Laravel.
Salah satu fitur terkeren yang disediakan laravel adalah, disediakannya cara agar kita developer bisa dengan mudah mengirim email langsung dari project kita.
Sebagai percobaan pada masa development aplikasi dengan laravel, untuk percobaan email kita bisa menggunakan mailtrap.io. seperti yang sudah dijelaskan juga sebelumnya tentang mailtrap.io.
mailtrap.io merupakan SMTP server palsu untuk testing. jadi kita bisa menggunakan mailtrap.io untuk penanganan email pada aplikasi yang sedang kita bangun. misalnya seperti membuat percobaan simulasi pengiriman email dan menampilkan tampilan email yang dikirim.
Selanjutnya, mari kita mulai membuat fitur ini.
Setup SMTP Mailtrap
Karena kita akan menggunakan mailtrap.io maka kalian harus membuat akun disitu dan copy configurasi yang dihasilkan setelah kita register akun yang terlihat seperti berikut.
Lalu tekan tombol copy dan ganti konfigurasi pada file .env
project laravel kalian dengan kode yang baru di copy.
Setup Mail
pertama-tama yang perlu kita lakukan adalah membuat konfigurasi email itu sendiri, jalankan perintah berikut untuk membuat file konfigurasi mail dan templatenya.
php artisan make:mail BasicMail --markdown=emails.BasicMail
Dengan perintah diatas, kita akan dibuatkan 2 file di project kita yaitu:
- app/Mail/BasicMail.php
- resources/views/emails/BasicMail.blade.php
Setelah itu buka file BasicMail.php dan ubah kode didalam classnya menjadi seperti berikut
public $body;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($body)
{
$this->body = $body;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->markdown('emails.BasicMail')->with('body',$this->body);
}
Mengubah Template Mail
Untuk mengubah template pada email yang digunakan, kita akan mengubah file markdown yang dibuat ketika kita membuat file mail. Buka file BasicMail.blade.php dan tambahkan kode berikut didalamnya.
@component('mail::message')
{!! $body !!}
Thanks,<br>
{{ config('app.name') }}<br>
Laravel Team.
@endcomponent
Dengan ditambahkannya code di file atas adalah kita jadi memiliki template yang disetiap email miliki dengan konten yang menyesuaikan.
Mengirim Email
Dan tahap terakhir dari implementasi send email secara simpel adalah untuk mengirimnya. Buka file web.php dan tambahkan kode berikut di baris baru paling bawah
Route::get('/send-basic-email', function() {
Mail::to('[email protected]')->send(new BasicMail('Hallo fulan, apa kabar?'));
return back();
});
dan ketika kita jalankan project kita dengan command php artisan serve
lalu berpindah ke route send-basic-email, jika kita buka mailtrap dibagian inbox, kita akan melihat email itu terkirim.
Sekian artikel singkat ini, jika kalian tertarik untuk membaca lebih detail, kalian bisa kunjungi dokumentasi resmi dari laravel yang membahas tentang topik yang sama di link berikut.
Terimakasih!! semoga bermanfaat.