Mengirim Email


Dalam tutorial ini, kita akan membahas bagaimana cara mengirim email menggunakan Laravel. Laravel menyediakan fasilitas yang sangat baik untuk mengirim email dengan menggunakan berbagai driver seperti SMTP, Mailgun, Postmark, dan lainnya.

Langkah 1: Menginstal Laravel

Jika Anda belum menginstal Laravel, Anda dapat melakukannya dengan perintah berikut:

composer create-project --prefer-dist laravel/laravel nama-proyek

Gantilah nama-proyek dengan nama yang Anda inginkan.

Langkah 2: Konfigurasi Pengaturan Email

Setelah Laravel berhasil diinstal, langkah selanjutnya adalah mengkonfigurasi pengaturan email Anda. Buka file .env yang ada di root direktori proyek Anda dan tambahkan/ubah pengaturan berikut:

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls
[email protected]
MAIL_FROM_NAME="${APP_NAME}"

Gantilah your_username dan your_password dengan kredensial SMTP Anda. Pada contoh ini, kami menggunakan Mailtrap, tetapi Anda dapat menggunakan layanan lain sesuai kebutuhan.

Langkah 3: Membuat Mailable

Dalam Laravel, kita bisa menggunakan kelas Mailable untuk mengatur dan mengirim email. Untuk membuat Mailable baru, jalankan perintah berikut:

php artisan make:mail WelcomeEmail

Ini akan menghasilkan file WelcomeEmail.php di dalam direktori app/Mail.

Mengedit Mailable

Buka file app/Mail/WelcomeEmail.php dan edit kelas tersebut:

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class WelcomeEmail extends Mailable
{
    use Queueable, SerializesModels;

    public $data;

    public function __construct($data)
    {
        $this->data = $data;
    }

    public function build()
    {
        return $this->view('emails.welcome')
                    ->with('data', $this->data);
    }
}

Langkah 4: Membuat View Email

Anda perlu membuat tampilan untuk email yang akan dikirim. Buatlah file baru di direktori resources/views/emails dengan nama welcome.blade.php:

<!DOCTYPE html>
<html>
<head>
    <title>Welcome to Our Platform</title>
</head>
<body>
    <h1>Welcome, {{ $data['name'] }}!</h1>
    <p>Thank you for joining us. We are glad to have you!</p>
</body>
</html>

Langkah 5: Mengirim Email

Anda dapat mengirim email dari mana saja dalam aplikasi Laravel Anda. Misalnya, Anda bisa melakukannya dalam sebuah controller:

use App\Mail\WelcomeEmail;
use Illuminate\Support\Facades\Mail;

public function sendWelcomeEmail(Request $request)
{
    $data = [
        'name' => $request->name,
    ];

    Mail::to($request->email)->send(new WelcomeEmail($data));

    return "Email sent successfully!";
}

Langkah 6: Pengujian

Anda bisa mengatur sebuah route untuk menguji fungsi pengiriman email ini:

Route::post('/send-email', [YourController::class, 'sendWelcomeEmail']);

Anda kemudian dapat mengirim permintaan POST ke /send-email dengan parameter name dan email.


Dalam tutorial ini, kita telah membahas cara mengirim email dengan menggunakan Laravel. Anda telah belajar bagaimana mengkonfigurasi pengaturan email, membuat Mailable, menyusun tampilan email, dan mengirim email dari controller. Dengan pengetahuan ini, Anda bisa mengembangkan fitur notifikasi yang lebih kompleks di aplikasi Anda.

Silakan mencobanya di proyek Anda dan sesuaikan sesuai kebutuhan!