Cara Mudah Konfigurasi Send Mail Pada Laravel
1. Membuat Konfigurasi
Di sini untuk pertama buat konfigurasi mail yang sudah di sediakan pada .env . Contoh pada mailtrap
MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=user
MAIL_PASSWORD=xxx
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=from@example.com
MAIL_FROM_NAME="${APP_NAME}"
2. Membuat Mail Class
Pada langkah ini buat mail class untuk mengirim email.
php artisan make:mail ContactUsMail
Kemudian pada app\Mail\ContactUsMail.php ubah seperti ini.
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class ContactUsMail extends Mailable
{
use Queueable, SerializesModels;
public $details;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($details)
{
$this->details = $details;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
return $this->subject('Masukan Subject')->view('mail.contact-us-mail');
}
}
3. Membuat Blade View
Pada langkah ini untuk menulis email yang akan kita kirimkan.
Kemudian pada resources\views\mail\contact-us-mail.blade.php
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1></h1>
<p></p>
<p>Thank you</p>
</body>
</html>
4. Membuat Send Mail Controller
Pada langkah ini kita akan membuat perintah untuk mengirim email pada controller.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class LandingController extends Controller
{
public function sendContactUs(Request $request)
{
if ($request->isMethod('post')) {
$this->validate(
$request,
[
'title' => 'required',
'body' => 'required',
]
);
$details = [
'title' => $request->title,
'body' => $request->body,
];
$mail = \Mail::to('your_receiver_email@gmail.com')->send(new \App\Mail\ContactUsMail($details));
return response('Email is Sent.', 200)->header('Content-Type', 'text/plain');
}
}
}
Catatan
Jika smpt kalian menggunakan selain mailtrap bisa ubah konfigurasi seperti ini.
DEVELMAIL
MAIL_HOST=smtp.develmail.com
MAIL_PORT=587
MAIL_ENCRYPTION=
SENDGRID
MAIL_HOST=smtp.sendgrid.net
MAIL_PORT=587
MAIL_ENCRYPTION=
Sekian untuk kali ini semoga bermanfaat :D untuk lebih lanjut bisa kunjungi link tersebut.