Mengirim email di laravel sudah sangat mudah dengan adanya mail. Bila anda butuh contoh sederhana untuk test konfigurasi SMTP di Laravel bisa meneruskan tutorial ini.

Disini kita hanya akan menggunakan mail tanpa Mailable, agar tetap sederhana dan bisa diselesaikan kurang dari 1 menit.

Bila anda belum memiliki project untuk laravel, buat baru dengan

composer create-project --prefer-dist laravel/laravel kiriemail

Setelah menginstall laravel, pindah ke folder kirimemail, folder inilah yang akan menjadi root direktori laravel yang kita miliki.

Beberapa email transaction provider yang bisa digunakan Amazon SES, Mailgun, Mailtrap. Pada contoh kali ini kita akan menggunakan Mailtrap, konsepnya sama saja hal yang membedakan mail trap dengan yang lain adalah, semua email yang dikirim ke manapun akan masuk kedalam inbox mailtrap, jadi tidak perlu khawatir salah kirim.

Bila belum memiliki akun mailtrap, daftar terlebih dahulu disini. Setelah login anda nanti mendapat credential kurang lebih seperti

Host     : smtp.mailtrap.io
Port     : 25 or 465 or 587 or 2525
Username : 6d8642858ba40a
Password : 89a62278345b92
Auth     : PLAIN, LOGIN and CRAM-MD5
TLS      : ptional (STARTTLS on all ports)

Buka .env lalu sesuaikan dengan konfigurasi diatas, kurang lebih seperti dibawah ini

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=af1f5b6706704a
MAIL_PASSWORD=681a9cd70e4b35
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="laravel@jaranguda.com"
MAIL_FROM_NAME="${APP_NAME}"

Buka routes/web.php, dibaris paling bawah tambahkan

Route::get('/kirim-email', function () {
 
    \Mail::send([], [], function ($message) {
      $message->to('user@db.jaranguda.com')
        ->subject("Ini Subject Email")
        ->setBody("Ini Body Email");
    });
 
});

ganti user@db.jaranguda.com dengan email yang inginkan.

Jalankan Laravel development server

php artisan serve

lalu buka http://127.0.0.1:8000/kirim-email. Tunggu beberapa saat check mailtrap, email sudah muncul seperti gambar dibawah

kirim email laravel

Leave a comment

Your email address will not be published. Required fields are marked *