cara kirim email dengan lampiran di laravel 10

Cara Kirim Email dengan Lampiran di Laravel 10

Pada artikel ini, kita akan belajar tentang cara kirim email dengan lampiran di laravel 10. Seperti yang kita semua tahu, fungsi email adalah hal yang umum di semua proyek.

Oleh karena itu, jika Anda ingin mengirim email dengan lampiran dalam beberapa kasus, maka artikel ini untuk Anda. Nantinya kita akan melihat cara melampirkan file pdf dan gambar dalam email di laravel 10.

Selain itu, Anda dapat mengirim format lampiran atau file apa saja seperti file png, file excel, file CSV, dan masih banyak lagi dan untuk mengirim email kita akan menggunakan mailtrap untuk tujuan pengujian. Jadi, Anda dapat menggunakannya sesuai kebutuhan.

Disini nantinya terdapat 6 tahapan yang harus Anda lakukan antara lain:

  • Install laravel 10
  • Konfigurasi mail
  • Menambahkan route
  • Menambahkan controller
  • Membuat view
  • Jalankan laravel 10

Tanpa perlu lama-lama lagi, mari simak langsung tutorial berikut ini.

Install Laravel 10

Pada langkah ini, kita akan menginstal aplikasi laravel 10 dengan menggunakan perintah berikut.

composer create-project --prefer-dist laravel/laravel laravel_10_email_with_attachment_example

Konfigurasi Mail

Sekarang, kita akan menambahkan konfigurasi email dengan mail driver, mail host, mail port, nama pengguna email, kata sandi email, dll di file .env.

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=your_user_name
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=TLS

Menambahkan Route

Selanjutnya, kita tambahkan route pada file routes/web.php.

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\SendMailController;

Route::get('/', function () {
    return view('welcome');
});

Route::get('send/mail', [SendMailController::class, 'sendMailWithAttachment']);

Menambahkan Controller

Pada langkah ini, kita akan membuat SendMailController dan menambahkan kode di bawah ini di app/Http/Controllers/SendMailController.php.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Mail;

class SendMailController extends Controller
{
    public function sendMailWithAttachment(Request $request)
    {
        $data["email"] = "[email protected]";
        $data["title"] = "Leravio";
        $data["body"] = "This is test mail with attachment";
 
        $files = [
            public_path('attachments/test_image.jpeg'),
            public_path('attachments/test_pdf.pdf'),
        ];
  
        Mail::send('mail.test_mail', $data, function($message)use($data, $files) {
            $message->to($data["email"])
                    ->subject($data["title"]);
 
            foreach ($files as $file){
                $message->attach($file);
            }            
        });

        echo "Mail send successfully !!";
    }
}

Membuat View

Setalah itu, kita akan membuat file resources\views\mail\test_mail.blade.php.

Hi, Leravio <br/>
This is Test Mail.<br />
Thank you...!!

Jalankan Laravel 10

Terakhir, jalankan laravel 10 ini untuk kirim email dengan aplikasi lampiran menggunakan perintah artisan.

php artisan serve

Setelah itu, buka http://127.0.0.1:8000/send/mail untuk kirim email. Jika ada pertanyaan, Anda bisa langsung tanyakan di kolom komentar di bawah ini.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top