{"id":26654,"date":"2022-01-27T18:06:18","date_gmt":"2022-01-27T11:06:18","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=26654"},"modified":"2022-01-27T18:06:24","modified_gmt":"2022-01-27T11:06:24","slug":"laravel-email-smtp-script-menggunakan-library-phpmailer","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/laravel-email-smtp-script-menggunakan-library-phpmailer\/","title":{"rendered":"Laravel Email SMTP Script Menggunakan Library PHPMailer"},"content":{"rendered":"\n<p>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.<\/p>\n\n\n\n\n\n<p>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. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"script-laravel-email-smtp-phpmailer\">Script Laravel Email SMTP PHPMailer<\/h2>\n\n\n\n<p>Untuk memudahkan anda dalam mengikuti panduan kami, silahkan download file library yang telah kami sediakan melalui link berikut: <a href=\"https:\/\/github.com\/bennyekop\/laravel-phpmailer\" title=\"download script phpmailer\">download script phpmailer laravel<\/a><\/p>\n\n\n\n<p>Repository github tersebut merupakan template penggunaan library SMTP PHPMailer. Anda bebas melakukan fork atau clone, serta melakukan modifikasi sesuai kebutuhan anda.<\/p>\n\n\n\n<p>Selanjutnya, silahkan cek script <strong>app\/Http\/Controllers\/MailerController.php<\/strong> yang detail script-nya seperti dibawah ini :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\nnamespace App\\Http\\Controllers;\n\nuse Illuminate\\Http\\Request;\n\nuse PHPMailer\\PHPMailer\\PHPMailer;\nuse PHPMailer\\PHPMailer\\Exception;\n\nclass MailerController extends Controller {\n\n    \/\/ =============== &#091; Email ] ===================\n    public function email() {\n        return view(\"email\");\n    }\n\n\n    \/\/ ========== &#091; Compose Email ] ================\n    public function composeEmail(Request $request) {\n        require base_path(\"vendor\/autoload.php\");\n        $mail = new PHPMailer(true);     \/\/ Passing `true` enables exceptions\n\n        try {\n\n            \/\/ Email server settings\n            $mail-&gt;SMTPDebug = 0;\n            $mail-&gt;isSMTP();\n            $mail-&gt;Host = 'namadomain.com';             \/\/  smtp host\n            $mail-&gt;SMTPAuth = true;\n            $mail-&gt;Username = 'email@namadomain.com';   \/\/  sender username\n            $mail-&gt;Password = 'XXXXXXXXX';       \/\/ sender password\n            $mail-&gt;SMTPSecure = 'ssl';                  \/\/ encryption - ssl\/tls\n            $mail-&gt;Port = 465;                          \/\/ port - 587\/465\n\n            $mail-&gt;setFrom('email@namadomain.com', 'SMTP LARAVEL');\n            $mail-&gt;addAddress($request-&gt;emailRecipient);\n            $mail-&gt;addCC($request-&gt;emailCc);\n            $mail-&gt;addBCC($request-&gt;emailBcc);\n\n            $mail-&gt;addReplyTo('email@namadomain.com', '');\n\n            if(isset($_FILES&#091;'emailAttachments'])) {\n                for ($i=0; $i &lt; count($_FILES&#091;'emailAttachments']&#091;'tmp_name']); $i++) {\n                    $mail-&gt;addAttachment($_FILES&#091;'emailAttachments']&#091;'tmp_name']&#091;$i], $_FILES&#091;'emailAttachments']&#091;'name']&#091;$i]);\n                }\n            }\n\n\n            $mail-&gt;isHTML(true);                \/\/ Set email content format to HTML\n\n            $mail-&gt;Subject = $request-&gt;emailSubject;\n            $mail-&gt;Body    = $request-&gt;emailBody;\n\n            \/\/ $mail-&gt;AltBody = plain text version of email body;\n\n            if( !$mail-&gt;send() ) {\n                return back()-&gt;with(\"failed\", \"Email not sent.\")-&gt;withErrors($mail-&gt;ErrorInfo);\n            }\n            \n            else {\n                return back()-&gt;with(\"success\", \"Email has been sent.\");\n            }\n\n        } catch (Exception $e) {\n             return back()-&gt;with('error','Message could not be sent.');\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p>Anda dapat menyesuaikan script tersebut sesuai dengan kebutuhan. Selain itu, Anda bisa melakukan perubahan pada <em>host<\/em>, <em>username <\/em>dan <em>password <\/em>email yang akan Anda gunakan. Berikut opsinya:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"mengunakan-email-domain\">Mengunakan Email Domain<\/h3>\n\n\n\n<p>Apabila menggunakan email domain, Anda bisa mengisi script smtp Laravel tersebut dengan data berikut :<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>smtp host = mail.namadomain_anda \/ nama domain anda<\/li><li>sender username = alamat email domain yang Anda gunakan<\/li><li>password = password emailnya<\/li><\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"menggunakan-email-gmail\">Menggunakan Email Gmail<\/h4>\n\n\n\n<p>Jika menggunakan email gmail atau Google WorkSpace, maka Anda bisa mengisi script SMTP Laravel tersebut dengan data berikut:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Host = smtp.gmail.com<\/li><li>username = alamat email gmail atau google Workspace Anda<\/li><li>password = isi dengan password application.<\/li><\/ul>\n\n\n\n<p>Panduan generate password application pada gmail bisa Anda baca melalui link berikut :\u00a0<a href=\"https:\/\/www.rumahweb.com\/journal\/mengaktifkan-app-password-gmail-setting-smtp\/\" title=\"generate password application gmail\">Password Application gmail<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"testing-laravel-email-smtp\">Testing Laravel email SMTP<\/h2>\n\n\n\n<p>Setelah anda membuat laravel email SMTP sesuai panduan diatas, Anda dapat melakukan test pengiriman email melalui link atau URL <em>http:\/\/namadomain\/email<\/em>. Lalu akan muncul halaman view berikut:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"538\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-1-1024x538.png\" alt=\"Testing Laravel email SMTP\" class=\"wp-image-26655\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-1-1024x538.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-1-300x158.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-1-768x403.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-1-370x194.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-1-270x142.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-1-570x299.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-1-740x389.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-1.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>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:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"538\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-2-1024x538.png\" alt=\"Hasil Laravel email SMTP pada email client\" class=\"wp-image-26656\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-2-1024x538.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-2-300x158.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-2-768x403.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-2-370x194.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-2-270x142.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-2-570x299.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-2-740x389.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2022\/01\/Laravel-Email-SMTP-Script-Menggunakan-Library-PHPMailer-2.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Demikian panduan setting Laravel Email SMTP script dari Rumahweb, semoga bermanfaat.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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. 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 [&hellip;]<\/p>\n","protected":false},"author":331,"featured_media":26736,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[796,1733,183],"class_list":{"0":"post-26654","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-artikel-tutorial","8":"tag-laravel","9":"tag-phpmailer","10":"tag-smtp"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/26654","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/users\/331"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=26654"}],"version-history":[{"count":0,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/26654\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/26736"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=26654"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=26654"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=26654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}