Hai semuanya kali ini saya akan membagikan bagaimana cara mengirim email dengan Laravel, adapun cara yang digunakan untuk pengiriman email saya menggunakan mailtrap. Kenapa mailtrap, karena pada saat pengiriman email kita jangan terlebih dahulu terburu-buru untuk mengirim email langsung ke pengguna. Maka dengan itu saya menggunakan mailtrap untuk testing apakah sudah layak dari segi tampilan dan teks pengiriman. Kalau sudah berarti pesan email siap dipublikasikan. Hal yang harus dipersiapkan cukup akun mailtrap dan Laravel.
Daftar isi:
- Instal Laravel
- Konfigurasi email
- Membuat berkas Mail dan blade
- Proses kirim email
- Hasil pengiriman email
- Seputar pertanyaan mail Laravel
Baca juga:
- Cara Upload Laravel ke Hosting
- Membuat Real Time Chatting Laravel dan Pusher
- Membuat Login dan Register Laravel
Instal Laravel
Instal laravel dengan menjalankan perintah composer di terminal/cmd.
composer create-project --prefer-dist laravel/laravel mail
Konfigurasi email
Silakan masuk ke akun mailtrap kemudian masuk ke bagian demo inbox. Pada bagian STMP Settings bisa dilihat bagian bahwa setting host, port, username, password, encryption. Masukan semuanya ke dalam berkas .env
.
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=1234567890
MAIL_PASSWORD=1234567890
MAIL_ENCRYPTION=tls
Catatan: Apabila tidak menemukan berkas
.env
cukup jalankan perintahcopy .env.example .env
maka.env
sudah terlihat di direktori utama projek Laravel.
Membuat berkas Mail dan blade
Tahapan ini membuat class mailable biasanya pada direktori App/Mail
. Jika direktori Mail belum ada jangan khawatir itu akan ada setelah membuat class mail pertama. Sekarang buat class mail dengan nama Halo sebagai contoh tutorial ini. Jalankan perintah dibawah ini untuk membuatnya.
php artisan make:mail Halo --markdown=emails.halo
Proses kirim email
Sebagai testing saya menggunakan rute untuk proses pengiriman email pada akun mailtrap. Sekarang ubahlah berkas web.php
di direktori routes, sesuaikan dengan skrip dibawah ini.
<?php
use App\Mail\Halo;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
try {
Mail::to('febri@example.com')->send(new Halo());
return 'berhasil mengirim email.';
} catch (\Throwable $th) {
return 'gagal mengirim email.';
}
});
Selanjutnya jalankan perintah php artisan serve
untuk menjalankan peladen lokal Anda. Buka web browser kemudian buka http://127.0.0.1:8000
tunggu proses pengiriman email selesai.
Hasil pengiriman email
Pada tahapan ini periksalah akun mailtrap, apakah email sudah masuk atau tidak. Jika ada kesalahan periksalah kembali pada langkah diatas. Maka hasil dari proses pengiriman email seperti dibawah ini.
Seputar pertanyaan mail Laravel
Pada tahapan ini saya akan membahas lebih daripada yang diatas. Agar lebih mudah memahami saya membuatnya dengan cara seperti pertanyaan lalu menjawabnya.
Bagaimana Cara Mengubah Tes Laravel
Hal ini cukup mudah tinggal mengubah APP_NAME di berkas .env
, seperti dibawah ini:
APP_NAME="Febri Hidayan"
Mengubah nama subjek Halo
Buka berkas halo.php
yang sudah dibuat sebelumnya, kemudian sesuaikan subjek yang diinginkan. Saya berikan contoh Halo, Febri Hidayan
, lihat dibawah ini:
return $this->subject('Halo, Febri Hidayan')
->markdown('emails.halo');
Cara Mengubah pesan dari email
Ada beberapa hal yang harus diketahui untuk menggunakan pesan dari email. Hal yang pertama untuk semua pesan email sama pesan dari atau setiap pesan memiliki pesan dari email yang berbeda. Jika ingin semua pesan dari email sama, maka cukup ubah di nerkas .env
seperti dibawah ini:
MAIL_FROM_ADDRESS=febrihidayan@example.com
Jika tidak maka bisa dilakukan pada berkas Halo.php
menjadi skrip dibawah ini:
return $this->from('febrihidayan20@gmail.com')
->subject('Halo, Febri Hidayan')
->markdown('emails.halo');
Mengubah teks pada tampilan email
Hmmm!, mungkin ini yang paling ditungguh. Pada tahap ini semua tampilan bisa diubah dengan mudah. Saran saya untuk Anda sudah memahami konsep menggunakan markdown untuk mengubah tampilan email. Saya contohkan dengan mengubahnya di templat halo.blade.php
seperti dibawah ini.
@component('mail::message')
# Halo, Febri Hidayan
Selamat Anda berhak mendapatkan source code dari kami, silakan klik tautan berikut.
@component('mail::button', [
'url' => 'https://github.com/febrihidayan/cara-kirim-email-di-laravel'
])
Github
@endcomponent
Terimakasih,<br>
{{ config('app.name') }}
@endcomponent
Lihat kode sumber di https://github.com/febrihidayan/cara-kirim-email-di-laravel
Sampai disini saja tutorialnya, semoga tutorial kali ini bermanfaat dan sampai jumpa di tutorial lainnya dari saya. Terimakasih.