Halo semuanya, kembali lagi di tulisan saya. Baiklah pada kesempatan yang berbahagia kali ini :), kita akan belajar bagaimana cara mengirim email di laravel. Penasaran?, ayo ikuti tutorialnya berikut ini.
Laravel adalah salah satu framework all in, yang artinya semua fitur lengkap ada di dalamnya, fitur-fiturnya seperti authentication, migration, api service, dan masih banyak fitur lainnya. Salah satu fitur yang akan kita bahas kali ini adalah fitur kirim email yang telah disediakan oleh si laravel.
Pada percobaan pertama, kita akan mencoba mengirimkan email dengan mailtrap.io. Mailtrap.io adalah fake server email yang biasa digunakan untuk simulasi dan testing email. Saya juga pernah menyinggung mailtrap.io pada tulisan saya berikut ini https://www.fromsunda.eu.org/2021/01/cara-membuat-konfirmasi-email.html.
📰 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 Kirim Email di Laravel
Untuk melakukan pengiriman email dengan laravel kita perlu melakukan sedikit konfigurasi, kita juga perlu mendaftar email di mailtrap.io dan akhirnya membuat isi emailnya dengan blade. pada tutorial kali ini, kita tidak menggunakan database agar tutorialnya lebih mudah dipahami dan lebih singkat.
1. Membuat Email di Mailtrap.io
1.1 Buatlah akun baru terlebih dahulu di mailtrap.io. Cara membuat akunnya sangat mudah, jadi tidak saya jelaskan disini ya😀.
1.2 Kemudian, Buatlah inbox baru jika sebelumnya belum ada, dan silahkan isi nama inbox sesuai keinginan. Setelah inbox selesai dibuat klik inbox tersebut untuk masuk. Ikuti penjelasannya pada gambar di bawah ini.
|
Membuat inbox baru |
1.3 Lalu di sebelah kanan, pilih laravel pada bagian integrations. Lalu kalian akan melihat cara setting email di laravel. Silahkan copy script tersebut. Script tersebut akan kita gunakan pada file .env nantinya.
|
Inbox dan konfigurasi |
2. Instalasi Laravel dan Setting File .env
2.1 Lakukan instalasi laravel 7 dengan menjalankan perintah di bawah ini menggunakan terminal atau cmd. Uuntuk lokasi folder bebas kalian tentukan sendiri.
composer create-project
2.2 Setelah instalasi selesai, selanjutnya buka file .env lalu editlah bagian email dengan menggunakan script yang telah kalian dapatkan sebelumnya dari mailtrap.io. Dan jangan lupa juga untuk mengisi MAIL_FROM_ADRESS dengan alamat email pengirim. Silahkan ikuti instruksinya seperti gambar di bawah ini.
|
Konfigurasi file .env |
2.3. Jalankan perintah di bawah ini, dengan menggunakan cmd atau terminal. Perintah di bawah ini berfungsi untuk menghapus cache sebelumnya dan agar pengaturan pada file .env menjadi yang terbaru
php artisan config:cache
3. Membuat Mail dan Desain Email
3.1 Jalankan perintah di bawah ini untuk membuat class LatihanEmail.php di dalam folder app/Mail.
php artisan make:mail LatihanEmail
3.2. Kemudian bukalah file LatihanEmail.php, lalu cari function build() dan ganti isinya seperti script di bawah ini.
public function build()
{
//kalian bisa mengirim variabel yang berasal dari database ke view
//bisa menggunakan eloquent atau query builder dan diparsing ke view
return $this->view('email');
}
3.3 Buatlah sebuah file baru dengan nama email.blade.php di dalam folder resources/views. Lalu copy script di bawah ini dan pastekan ke dalam file tersebut.
<h1>Judul Email Kalian</h1>
<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry</p>
Kalian bisa mendesain model email yang diinginkan dengan menggunakan html nantinya. Script di atas hanya contoh sederhana dalam pengiriman email.
4. Membuat Controller dan Route
4.1 Buatlah sebuah controller baru dengan menjalankan perintah di bawah ini
php artisan make:controller EmailController
4.2 Buka file EmailController.php yang telah dibuat sebelumnya di dalam folder app/Htpp/controller. Lalu copy dan paste script di bawah ini
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Mail\LatihanEmail;
use Illuminate\Support\Facades\Mail;
class EmailController extends Controller
{
public function index(){
Mail::to("testing@email.com")->send(new LatihanEmail());
}
}
4.3 Buatlah routing baru, buka file web.php di dalam folder routes. Lalu tambahkan script di bawah ini ke dalam file tersebut.
Route::get('/sendmail', 'EmailController@index');
5. Uji Coba
Silahkan jalankan perintah php artisan serve. Lalu buka browser dan ketik url http://127.0.0.1:8000/sendmail Selanjutnya buka mailtrap.io dan masuk ke dalam inbox. Hasilnya akhirnya akan tampak seperti gambar di bawah ini
|
Email berhasil dikirim |
Terlihat pada email yang berhasil dikirimkan di atas, lengkap dengan judul, nama pengirim, nama penerima, dan tentunya isi dari email itu sendiri. Kalian bisa melakukan improvisasi lagi dengan menggunakan desain email yang menarik, dan dipadukan dengan data langsung dari database.
Kalo mau menambahkan data dari database, kalian tinggal sisipkan data di bagian LatihanEmail.php, cara pemanggilannya bisa menggunakan eloquent atau query builder. Lalu tinggal parsing ke viewnya saja seperti parsing dari controller ke view ya.
Sekian tutorial cara mengirim email di laravel. Semoga bermanfaat, jika ada yang sulit dipahami silahkan tanya langsung di kolom komentar di bawah ini. InsyaAllah saya akan siap berdiskusi dan membantu :). Sampai jumpa di tutorial laravel lainnya.
Posting Komentar