Kemudahan struktur yang tersedia di framework Laravel membuat pengguna maupun developer, menjadi lebih terbantu dalam proses pengembangan aplikasi maupun websitenya. Selain lebih ringkas dengan adanya library, framework laravel juga dilengkapi dengan security untuk proses authentication dan pengiriman email. Pada artikel ini, kami akan berbagi cara setting SMTP Laravel dengan script mailable.
Apa yang perlu disiapkan?
Berikut beberapa tools yang perlu Anda persiapkan, untuk bisa membuat SMTP laravel dengan script mailable.
- Framework Laravel
- Script Mail SMTP
- Terminal (SSH)
Apabila Anda belum memiliki Laravel, Anda bisa membuat terlebih dahulu Laravel di localhost maupun di cPanel. Anda dapat melakukan instalasi Laravel di cPanel atau melakukan generate pada localhost melalui terminal dengan command sebagai berikut:
curl -s https://laravel.build/example-app | bash
Kami sarankan, Anda membuat website Laravel ini di localhost terlebih dahulu. Karena dalam proses deploy, ada beberapa function yang statusnya di disable dari sisi server, sehingga kebanyakan proses deploy Laravel di hosting akan mengalami kendala.
Cara Setting SMTP Laravel
Setelah memastikan bahwa website atau aplikasi Laravel Anda berjalan di localhost atau hosting, selanjutnya kita bisa melakukan setting SMTP Laravel melalui panduan ini.
Langkah 1. Konfigurasi file .env
Langkah pertama adalah menambahkan setting mail pada file .env, yang berfungsi untuk pengaturan email sesuai mail server yang akan digunakan. Pada contoh, kami akan menggunakan email domain yang dibuat pada hosting. Berikut contoh script pada file .env tersebut:
MAIL_MAILER=smtp
MAIL_HOST=mail.namadomain.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=password email
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="${APP_NAME}"
Langkah 2. Menambahkan file class mail maillable dan blade view
Melanjutkan setting file .env yang sudah dilakukan, pada tahap ini kita akan menambahkan file script class mail mailable beserta blade view menggunakan perintah berikut melalui terminal:
php artisan make:mail WelcomeMail -m emails.welcome
Command diatas akan membuat directory mail yang di dalamnya ada file WelcomeMail.php dengan class mailable dan memarkdown emails.welcome yang tergenerate menjadi view welcome.blade.php
Berikut hasil generate file yang sudah dibuat pada app/Mail/WelcomeMail.php
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class WelcomeMail extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->markdown('emails.welcome');
}
}
resources/views/emails/welcome.blade.php
@component('mail::message')
# Introduction
The body of your message.
@component('mail::button', ['url' => ''])
Button Text
@endcomponent
Thanks,<br>
{{ config('app.name') }}
Langkah 3. Konfigurasi routes file web.php
Pada langkah ini perlu diperhatikan inisiasi routes yang akan diarahkan ke /email, sehingga ketika mengakses di browser perlu ditambahkan imbuhan /email dan mail::to sebagai alamat email tujuan dengan penambahan send yang ditujukan ke content WelcomeMail.
<?php
use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Mail;
use App\Mail\WelcomeMail;
Route::get('/email', function () {
Mail::to('[email protected]')->send(new WelcomeMail());
return new WelcomeMail();
});
Langkah 4. Ujicoba Pengiriman email
Pada tahap ini, Anda dapat melakukan ujicoba melalui localhost menggunakan php artisan serve atau namadomain.com/email sesuai letak file laravel di sisi hosting.

Proses diatas akan langsung mengirimkan view html ke alamat email tujuan yang tercantum di routes. Anda juga dapat menggabungkan dengan konsep contact form mengikuti panduan berikut : Membuat Contact Form di Laravel
Selanjutnya Anda dapat melakukan pengecekan pada email tujuan untuk melihat hasilnya. Berikut screenshot notifikasi pengiriman email yang telah berhasil diterima.

Sampai dengan tahap ini, setting SMTP Laravel dengna script mailable telah selesai.
Demikian artikel kami tentang cara setting SMTP Laravel, semoga bermanfaat.