Langkah 1 - Install Framework Laravel
Silahkan masuk ke dalam folder dimana teman-teman akan menyimpan projectnya dan jalankan perintah berikut ini di dalam terminal/CMD :
composer create-project --prefer-dist laravel/laravel:^9.1 laravel-mail
cd laravel-mail
php artisan serve
Langkah 2 - Konfigurasi .env
Silahkan buka project Laravel-nya menggunakan Text Editor dan cari file .env
. Kemudian ubah menjadi seperti berikut:
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
Langkah 3 - Membuat Mail Class
Silahkan jalankan perintah berikut ini di dalam terminal/CMD dan pastikan berada di dalam project Laravel-nya.
php artisan make:mail SendEmail
Silahkan buka file SendEmail.php dan ubah kode-nya menjadi seperti berikut ini.
<?php
namespace App\\Mail;
use Illuminate\\Bus\\Queueable;
use Illuminate\\Contracts\\Queue\\ShouldQueue;
use Illuminate\\Mail\\Mailable;
use Illuminate\\Queue\\SerializesModels;
class SendEmail extends Mailable
{
```use Queueable, SerializesModels;
public $data;
/\*\*
\* Create a new message instance.
\*
\* @return void
\*/
public function __construct($data)
{
$this->data = $data;
}
/\*\*
\* Build the message.
\*
\* @return $this
\*/
public function build()
{
return $this->subject('Testing Kirim Email')
->view('emails.sendemail');
}```
}
Setelah berhasil membuat Mail Class, sekarang kita lanjutkan membuat tampilan email yang akan dikirimkan atau disebut dengan blade view. Silahkan buat folder baru dengan nama emails
di dalam folder resource/views/emails
. Lalu buat file sendemail.blade.php
dan masukkan kode:
<!DOCTYPE html>
<html>
<head>
```<title>hehe.com</title>```
</head>
<body>
```<h3>{{ $data['name'] }}</h3>
<h4>{{ $data['body'] }}</h4>
<p>Terimakasih</p>```
</body>
</html>
Langkah 4 - Membuat Mail Class
Sekarang kita lanjutkan untuk membuat route-nya. Silahkan buka file routes/web.php, kemudian ubah semua kode-nya menjadi seperti berikut ini.
<?php
use Illuminate\\Support\\Facades\\Mail;
use App\\Mail\\SendEmail;
use Illuminate\\Support\\Facades\\Route;
/\*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
\*/
Route::get('/', function () {
```return view('welcome');```
});
Route::get('/send-email',function(){
```$data = [
'name' => 'Syahrizal As',
'body' => 'Testing Kirim Email di Santri Koding'
];
Mail::to('emailtujuan@gmail.com')->send(new SendEmail($data));
dd("Email Berhasil dikirim.");```
});
Dari penambahan kode di atas, pertama-tama kita import Facades Mail dan memanggil Class Mailable SendMail.
use Illuminate\\Support\\Facades\\Mail;
use App\\Mail\\SendEmail;
diatas kita akan mengirim data ke dalam Mailable SendMail.
$data = [
``` 'name' => 'Syahrizal As',
'body' => 'Testing Kirim Email di Santri TS'
];```
Email di atas akan di kirim ke email emailtujuan@gmail.com
.