Cara menggunakan php exec fork

Pada panduan ini, kami akan membahas tentang Laravel Email SMTP script menggunakan Library PHPMailer. Cara ini dapat anda ikuti, untuk melakukan pengiriman email dari website Laravel yang telah anda buat.

Daftar Isi

Salah satu cara agar email yang dikirimkan dari website dapat diterima dengan baik, dan tidak ditandai sebagai spam adalah dengan melakukan setting autentifikasi SMTP. Karenanya penting untuk anda ketahui, tentang cara setting SMTP ini pada website. Di pembahasan kali ini, kami menggunakan metode library SMTP PHPMailer dengan script yang telah kami siapkan.

Script Laravel Email SMTP PHPMailer

Untuk memudahkan anda dalam mengikuti panduan kami, silahkan download file library yang telah kami sediakan melalui link berikut: download script phpmailer laravel

Repository github tersebut merupakan template penggunaan library SMTP PHPMailer. Anda bebas melakukan fork atau clone, serta melakukan modifikasi sesuai kebutuhan anda.

Selanjutnya, silahkan cek script app/Http/Controllers/MailerController.php yang detail script-nya seperti dibawah ini :

SMTPDebug = 0;
            $mail->isSMTP();
            $mail->Host = 'namadomain.com';             //  smtp host
            $mail->SMTPAuth = true;
            $mail->Username = '[email protected]';   //  sender username
            $mail->Password = 'XXXXXXXXX';       // sender password
            $mail->SMTPSecure = 'ssl';                  // encryption - ssl/tls
            $mail->Port = 465;                          // port - 587/465

            $mail->setFrom('[email protected]', 'SMTP LARAVEL');
            $mail->addAddress($request->emailRecipient);
            $mail->addCC($request->emailCc);
            $mail->addBCC($request->emailBcc);

            $mail->addReplyTo('[email protected]', '');

            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 sesuai dengan kebutuhan. Selain itu, Anda bisa melakukan perubahan pada host, username dan password email yang akan Anda gunakan. Berikut opsinya:

Mengunakan Email Domain

Apabila menggunakan email domain, Anda bisa mengisi script smtp Laravel tersebut dengan data berikut :

  • smtp host = mail.namadomain_anda / nama domain anda
  • sender username = alamat email domain yang Anda gunakan
  • password = password emailnya

Menggunakan Email Gmail

Jika menggunakan email gmail atau Google WorkSpace, maka Anda bisa mengisi script SMTP Laravel tersebut dengan data berikut:

  • Host = smtp.gmail.com
  • username = alamat email gmail atau google Workspace Anda
  • password = isi dengan password application.

Panduan generate password application pada gmail bisa Anda baca melalui link berikut : Password Application gmail

Testing Laravel email SMTP

Setelah anda membuat laravel email SMTP sesuai panduan diatas, Anda dapat melakukan test pengiriman email melalui link atau URL http://namadomain/email. Lalu akan muncul halaman view berikut:

Cara menggunakan php exec fork

Jika setting atau configurasi file SMTP Anda benar, maka email akan terkirim ke alamat email tujuan dan hasil pengiriman email SMTP laravel diatas seperti berikut: