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.