Frydho Ghazian Frydho are very experienced in Technology, Digital Marketing and Growth topic. His responsibility is to deliver the impactful content from Qwords brand and its product through the blog writing

Cara Setting SMTP Laravel Dengan Script PHPMailer

2 min read

Jika sebelumnya anda telah mempelajari tentang apa itu SMTP, maka melalui artikel ini kita akan mempelajari tentang cara setting SMTP Laravel dengan menggunakan script PHPMailer.

SMTP di website berbasis Laravel berfungsi sebagai protokol pengirim email agar website Laravel anda dapat mengirimkan email ke alamat tujuan dan email yang masuk tidak ditandai sebagai spam. Contohnya seperti ada yang mengisi contact form, mengirim notifikasi terkait aktivitas di website, dan mengirim informasi login user yang mendaftar melalui registration form.

Disini, kami akan membagikan panduan untuk setting SMTP laravel menggunakan script PHPMailer, sehingga memudahkan anda dalam memulainya.

Script Email SMTP Laravel PHPMailer

Agar anda lebih mudah dalam melakukan setting, kami telah menyiapkan template script yang bisa download pada link berikut: download script phpmailer laravel.

Silahkan clone atau download repository template script phpmailer laravel tersebut dan sesuaikan dengan kebutuhan anda.

Jika sudah mendownload, anda dapat mengecek script app/Http/Controller/PHPMailerController.php yang isinya seperti berikut:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;


class PHPMailerController extends Controller
{
    // =============== [ Email ] ===================
    public function email()
    {
        return view("email");
    }


    // ========== [ Compose Email ] ================
    public function composeEmail(Request $request)
    {
        require base_path("vendor/autoload.php");
        $mail = new PHPMailer(true);     // Passing `true` enables exceptions

        try {

            // Email server settings
            $mail->SMTPDebug = 0;
            $mail->isSMTP();
            $mail->Host = 'smtp.example.com';             //  smtp host
            $mail->SMTPAuth = true;
            $mail->Username = 'user@example.com';   //  sender username
            $mail->Password = '**********';       // sender password
            $mail->SMTPSecure = 'tls';                  // encryption - ssl/tls
            $mail->Port = 587;                          // port - 587/465

            $mail->setFrom('sender@example.com', 'SenderName');
            $mail->addAddress($request->emailRecipient);
            $mail->addCC($request->emailCc);
            $mail->addBCC($request->emailBcc);

            $mail->addReplyTo('sender@example.com', 'SenderReplyName');

            if (isset($_FILES['emailAttachments'])) {
                for ($i = 0; $i < count($_FILES['emailAttachments']['tmp_name']); $i++) {
                    $mail->addAttachment($_FILES['emailAttachments']['tmp_name'][$i], $_FILES['emailAttachments']['name'][$i]);
                }
            }


            $mail->isHTML(true);                // Set email content format to HTML

            $mail->Subject = $request->emailSubject;
            $mail->Body    = $request->emailBody;

            // $mail->AltBody = plain text version of email body;

            if (!$mail->send()) {
                return back()->with("failed", "Email not sent.")->withErrors($mail->ErrorInfo);
            } else {
                return back()->with("success", "Email has been sent.");
            }
        } catch (Exception $e) {
            return back()->with('error', 'Message could not be sent.');
        }
    }
}

anda dapat menyesuaikan script tersebut dengan kebutuhan anda. Silahkan mengubah host, username dan password dengan data SMTP yang dimiliki oleh email anda, seperti contoh berikut:

Menggunakan Email Domain

Jika anda memiliki email domain, maka anda bisa mengisi script email SMTP Laravel dengan data berikut:

  • SMTP Host = mail.namadomain.com (SMTP host email domain anda)
  • Username = alamat@namadomain.com (alamat email sebagai pengirim pesan email)
  • Password = password email anda

Menggunakan Email Gmail

Namun, jika anda ingin menggunakan protokol SMTP Gmail Google Workspace. Anda dapat mengisinya menggunakan data berikut:

  • SMTP Host = smtp.gmail.com (SMTP host Gmail Google Workspace)
  • Username = alamat@namadomain.com (alamat email sebagai pengirim pesan email)
  • Password = password email anda

Pengujian Email SMTP Laravel

Setelah anda mengikuti panduan diatas, anda dapat melakukan tes untuk melakukan pengiriman email melalui url http://namadomain/email, lalu akan muncul tampilan halaman seperti berikut:

Perlu diingat, anda dapat melihat tampilan form pengiriman email dengan mengunjungi halaman /email pada environment anda.

Jika setting SMTP anda sudah benar, maka email akan terkirim ke alamat email tujuan.

Demikian panduan untuk melakukan setting Script SMTP Laravel menggunakan PHPMailer dari Qwords, selamat mencoba dan semoga bermanfaat!

Frydho Ghazian Frydho are very experienced in Technology, Digital Marketing and Growth topic. His responsibility is to deliver the impactful content from Qwords brand and its product through the blog writing

Apa itu CMD? Artinya, Fungsi, dan…

CMD, singkatan dari Command Prompt adalah aplikasi untuk pengguna yang memungkinkan anda berkomunikasi dengan sistem operasi Windows menggunakan antarmuka baris perintah atau Command Line Interface...
Frydho Ghazian
3 min read

Mengenal Ipconfig dan Perintah Dasarnya bagi…

Ipconfig adalah tool yang sangat familier di kalangan pengguna yang mendalami jaringan, khususnya pada sistem operasi berbasis Windows.  Cukup dengan perintah sederhana, ipconfig cukup...
Jordy Prayoga
2 min read

Apa Itu Pop Up? Artinya, Fungsi,…

Saat sahabat Qwords mengunjungi sebuah situs, terkadang ada sebuah notifikasi jendela baru yang muncul pada layar anda. Jendela baru tersebut dinamakan Pop Up. Apa...
Frydho Ghazian
4 min read

Leave a Reply

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