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!