cover

Cara Kirim Email Di Laravel

profil
Febri Hidayan
14 December 2020 ยท Baca 4 menit

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:

Baca juga:

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 perintah copy .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.

hasil

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.


profil

DITULIS OLEH

Febri Hidayan

Berikan saya sponsor terbaik Anda agar saya tetap semangat menulis artikel yang bermanfaat. Terimakasih ๐Ÿ˜Š