Halo semuanya, kembali lagi di tulisan saya. Pada kesempatan kali ini kita akan belajar bagaimana cara mengirim email dengan gmail pada framework laravel. Bagaimana caranya?, ayo ikuti selengkapnya berikut ini.
Di tutorial sebelumnya, saya sudah pernah membahas cara mengirim email dengan menggunakan email selain google mail(gmail) di laravel. Berikut ini link bacanya: https://www.fromsunda.eu.org/2021/03/tutorial-cara-kirim-email-di-laravel.html
Ok, sekarang kita akan membahas bagaimana cara mengirim email dengan gmail pada laravel. Tahapannya cukup mudah, sama seperti cara mengirim email menggunakan email selain gmail, tapi ada beberapa hal yang perlu dikonfigurasi agar pengirimannya dapat bekerja. Berikut ini tahapan-tahapannya.
Baca Artikel Lain ✨ |
📰 1. Cara Transfer File dari Hosting ke Windows dengan Filezilla FTP read more |
📰 2. Cara Transfer dan Membuka File Hosting di Windows dengan FTP read more |
📰 3. Cara Membuat Import Data Excel ke Database Mysql dengan php read more |
📰 4. Cara Membuat Peta Digital dengan Leafletjs, Alternatif Peta Digital tanpa Google Maps API read more |
Cara Mengirim Email dengan Gmail di Laravel.
Saya asumsikan kalian sudah punya project laravel yang sudah siap digunakan. Boleh menggunakan fresh laravel project atau project yang sudah berjalan. Silahkan ikuti step by stepnya berikut ini.
1. Konfigurasi file .env
Cari dan buka file .env. Lalu ganti setting emailnya dengan script di bawah ini. Pastikan untuk mengisi username, email dan password sesuai email yang kalian miliki.
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=gmail kalian
MAIL_PASSWORD=password gmail kalian
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=gmail kalian
MAIL_FROM_NAME=”${APP_NAME}”
Kemudian jalankan perintah php artisan config:cache. Perintah ini berfungsi untuk memperbarui file .env kalian menjadi settingan yang terbaru.
2. Konfigurasi gmail
Sebelum dapat digunakan, terlebih dahulu kalian harus melakukan setting terhadap gmail terlebih dahulu. Pertama, silahkan kalian masuk ke halaman google account. Lalu masuk ke menu keamanan atau privacyMelakukan konfigruasi gmail |
Scroll ke bagian paling bawah, sampai kalian menemukan akses aplikasi yang kurang aman atau Less secure app access. Silahkan klik lalu aktifkan.
Melakukan konfigurasi gmail (2) |
3. Membuat Class Mail
3.1 Jalankan perintah di bawah ini untuk membuat class baru bernama KirimEmail.php di dalam folder app/Mail.
php artisan make:mail KirimEmail
3.2 Kemudian bukalah file KirimEmail.php di dalam folder app/Mail lalu gantilah isinya dengan script seperti di bawah ini
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
class KirimEmail extends Mailable
{
use Queueable, SerializesModels;
public $details;
public function __construct($details)
{
$this->details = $details;
}
public function build()
{
return $this->subject('ini adalah conatoh kirim email dengan laravel')->view('contoh_email');
}
}
Penjelasan:
__construct adalah fungsi yang akan dijalankan pertama kali saat class KirimEmail dipanggil. Pemanggilan class KirimEmail akan dilakukan pada controller nantinya. Fungsi ini juga nantinya akan kita gunakan untuk menerima variabel yang dikirimkan dari controller. Jadi konten emailnya dapat lebih dinamis.
Function build(){ … } berfungsi untuk mengatur tampilan email, seperti desain dan pesan yang akan ditampilkan. Fungsi return view akan menuju ke view yang dipilih. Jadi setelah ini kita akan membuat view dari desain email-nya terlebih dahulu.
4. Membuat view
Selanjutnya buatlah sebuah view baru di dalam folder resources dengan nama contoh_email.blade.php. Lalu isi file tersebut dengan script di bawah ini.
<!DOCTYPE html>
<html>
<head>
<title>contoh kirim email dengan gmail</title>
</head>
<body>
<h1>{{ $details['title'] }}</h1>
<p>{{ $details['body'] }}</p>
<p>Terima kasih</p>
</body>
</html>
Script di atas adalah script html sederhana. Kalian bisa dengan mudah membuat model atau desain email sesuai keinginan kalian sendiri. Script di atas hanya contoh, jadi saya harap kalian bisa mengembangkannya lagi. untuk variabel $details['title'] dan $details['body'] adalah variabel yang dikirim dari controller nantinya
5. Membuat Controller
Ok selanjutnya kita akan mebuat sebuah controller baru, silahkan jalankan perintah php artisan make:controller MailController. Maka sebuah file baru otomatis dibuat di dalam folder app/Http/controllers. Buka file tersebut dan isi dengan script yang ada di bawah ini.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Mail\KirimEmail;
use Illuminate\Support\Facades\Mail;
class MailController extends Controller
{
public function index(){
$details = [
'title' => 'email dari fromsunda.eu.org',
'body' => 'ini adalah contoh pengiriman email dengan menggunakan gmail.'
];
//nbelputra437@gmail.com adalah alamat tujuan email
Mail::to('nbelputra437@gmail.com')->send(new KirimEmail($details));
echo "Email berhasil dikirim!";
}
}
6. Menambah route
Bukalah file web.php lalu tambahkan script di bawah ini.
Route::get('kirim-email','App\Http\Controllers\MailController@index');
Ok, selanjutnya kita masuk ke tahap uji coba. Running laravel kalian dengan menggunakan php artisan serve. Lalu akses url ini http://127.0.0.1:8000/kirim-email. Jika berhasil maka akan tampil pesan dan email yang telah masuk seperti berikut ini
Tampilan email yang masuk |
Ok sekian tutorail tentang cara kirim email dengan gmail di laravel. Semoga tutorial kali ini bermanfaat. Jika merasa kesulitan silahkan tanyakan langsung lewat kolom komentar di bawah ini. Sampai jumpa di tutorial keren dan menarik lainnya.
Posting Komentar