{"id":22865,"date":"2021-07-23T18:52:15","date_gmt":"2021-07-23T11:52:15","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=22865"},"modified":"2021-12-29T13:14:13","modified_gmt":"2021-12-29T06:14:13","slug":"cara-setting-smtp-laravel","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/cara-setting-smtp-laravel\/","title":{"rendered":"Cara Setting SMTP Laravel dengan Script Mailable"},"content":{"rendered":"\n<p>Kemudahan struktur yang tersedia di framework <a href=\"https:\/\/blog.rumahweb.com\/laravel-adalah\/\" title=\"laravel adalah\">Laravel<\/a> membuat pengguna maupun developer, menjadi lebih terbantu dalam proses pengembangan aplikasi maupun websitenya. Selain lebih ringkas dengan adanya library, framework laravel juga dilengkapi dengan security untuk proses authentication dan pengiriman email. Pada artikel ini, kami akan berbagi cara setting SMTP Laravel dengan script mailable.<\/p>\n\n\n\n\n\n<h2 class=\"wp-block-heading\">Apa yang perlu disiapkan?<\/h2>\n\n\n\n<p>Berikut beberapa tools yang perlu Anda persiapkan, untuk bisa membuat SMTP laravel dengan script mailable. <\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Framework Laravel<\/li><li>Script Mail SMTP<\/li><li>Terminal (SSH)<\/li><\/ol>\n\n\n\n<p>Apabila Anda belum memiliki Laravel, Anda bisa membuat terlebih dahulu Laravel di localhost maupun di cPanel. Anda dapat melakukan <a href=\"https:\/\/www.rumahweb.com\/journal\/cara-install-laravel-cpanel\/\" title=\"cara install laravel di cpanel\">instalasi Laravel di cPanel<\/a> atau melakukan generate pada localhost melalui terminal dengan <em>command <\/em>sebagai berikut: <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><kbd>curl -s https:\/\/laravel.build\/example-app | bash<\/kbd><\/pre>\n\n\n\n<p>Kami sarankan, Anda membuat website Laravel ini di <em>localhost <\/em>terlebih dahulu. Karena dalam proses <em>deploy<\/em>, ada beberapa <em>function <\/em>yang statusnya di disable dari sisi server, sehingga kebanyakan proses <em>deploy<\/em> Laravel di hosting akan mengalami kendala. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cara Setting SMTP Laravel<\/h2>\n\n\n\n<p>Setelah memastikan bahwa website atau aplikasi Laravel Anda berjalan di localhost atau hosting, selanjutnya kita bisa melakukan setting SMTP Laravel melalui panduan ini.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Langkah 1. Konfigurasi file .env<\/h3>\n\n\n\n<p>Langkah pertama adalah menambahkan setting mail pada file .env, yang berfungsi untuk pengaturan email sesuai mail server yang akan digunakan. Pada contoh, kami akan menggunakan email domain yang dibuat pada hosting. Berikut contoh script pada file .env tersebut:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>MAIL_MAILER=smtp\nMAIL_HOST=mail.namadomain.com\nMAIL_PORT=587\nMAIL_USERNAME=email@namadomain.com\nMAIL_PASSWORD=password email\nMAIL_ENCRYPTION=tls\nMAIL_FROM_ADDRESS=email@namadomain.com\nMAIL_FROM_NAME=\"${APP_NAME}\"\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Langkah 2. Menambahkan file class mail maillable dan blade view<\/h3>\n\n\n\n<p>Melanjutkan setting file .env yang sudah dilakukan, pada tahap ini kita akan menambahkan file script class mail mailable beserta blade view menggunakan perintah berikut melalui terminal: <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><kbd>php artisan make:mail WelcomeMail -m emails.welcome<\/kbd><\/pre>\n\n\n\n<p>Command diatas akan membuat directory mail yang di dalamnya ada file WelcomeMail.php dengan class mailable dan memarkdown emails.welcome yang tergenerate menjadi view welcome.blade.php&nbsp;<\/p>\n\n\n\n<p>Berikut hasil generate file yang sudah dibuat pada app\/Mail\/<em>WelcomeMail.php<\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\nnamespace App\\Mail;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Queue\\SerializesModels;\n\nclass WelcomeMail extends Mailable\n{\n    use Queueable, SerializesModels;\n\n    \/**\n     * Create a new message instance.\n     *\n     * @return void\n     *\/\n    public function __construct()\n    {\n        \/\/\n    }\n\n    \/**\n     * Build the message.\n     *\n     * @return $this\n     *\/\n    public function build()\n    {\n        return $this-&gt;markdown('emails.welcome');\n    }\n}\n<\/code><\/pre>\n\n\n\n<p>resources\/views\/emails\/<em>welcome.blade.php<\/em><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>@component('mail::message')\n# Introduction\n\nThe body of your message.\n\n@component('mail::button', &#091;'url' =&gt; ''])\nButton Text\n@endcomponent\n\nThanks,&lt;br&gt;\n{{ config('app.name') }}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Langkah 3. Konfigurasi routes file web.php<\/h3>\n\n\n\n<p>Pada langkah ini perlu diperhatikan inisiasi routes yang akan diarahkan ke \/email, sehingga ketika mengakses di browser perlu ditambahkan imbuhan \/email dan mail::to sebagai alamat email tujuan dengan penambahan send yang ditujukan ke content WelcomeMail.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\nuse Illuminate\\Support\\Facades\\Route;\nuse Illuminate\\Support\\Facades\\Mail;\nuse App\\Mail\\WelcomeMail;\n\nRoute::get('\/email', function () {\n    Mail::to('alamatemail@tujuan.com')-&gt;send(new WelcomeMail());\n    return new WelcomeMail();\n});\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Langkah 4. Ujicoba Pengiriman email<\/h3>\n\n\n\n<p>Pada tahap ini, Anda dapat melakukan ujicoba melalui localhost menggunakan php artisan serve atau namadomain.com\/email sesuai letak file laravel di sisi hosting.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/Pengiriman-SMTP-Email-Laravel.png\"><img loading=\"lazy\" decoding=\"async\" width=\"935\" height=\"372\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/Pengiriman-SMTP-Email-Laravel.png\" alt=\"Contoh pengiriman email hasil setting smtp laravel\" class=\"wp-image-22870\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/Pengiriman-SMTP-Email-Laravel.png 935w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/Pengiriman-SMTP-Email-Laravel-300x119.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/Pengiriman-SMTP-Email-Laravel-768x306.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/Pengiriman-SMTP-Email-Laravel-370x147.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/Pengiriman-SMTP-Email-Laravel-270x107.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/Pengiriman-SMTP-Email-Laravel-570x227.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/Pengiriman-SMTP-Email-Laravel-740x294.png 740w\" sizes=\"auto, (max-width: 935px) 100vw, 935px\" \/><\/a><\/figure>\n\n\n\n<p>Proses diatas akan langsung mengirimkan view html ke alamat email tujuan yang tercantum di routes. Anda juga dapat menggabungkan dengan konsep contact form mengikuti panduan berikut : <a href=\"https:\/\/www.rumahweb.com\/journal\/cara-membuat-contact-form-laravel\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"membuat contact form di laravel\">Membuat Contact Form di Laravel<\/a><\/p>\n\n\n\n<p>Selanjutnya Anda dapat melakukan pengecekan pada email tujuan untuk melihat hasilnya. Berikut screenshot notifikasi pengiriman email yang telah berhasil diterima.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/SMTP-Email-Laravel-Terkirim-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"659\" height=\"483\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/SMTP-Email-Laravel-Terkirim-1.png\" alt=\"\" class=\"wp-image-22873\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/SMTP-Email-Laravel-Terkirim-1.png 659w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/SMTP-Email-Laravel-Terkirim-1-300x220.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/SMTP-Email-Laravel-Terkirim-1-370x271.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/SMTP-Email-Laravel-Terkirim-1-270x198.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/SMTP-Email-Laravel-Terkirim-1-570x418.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2021\/07\/SMTP-Email-Laravel-Terkirim-1-80x60.png 80w\" sizes=\"auto, (max-width: 659px) 100vw, 659px\" \/><\/a><\/figure>\n\n\n\n<p>Sampai dengan tahap ini, setting SMTP Laravel dengna script mailable telah selesai. <\/p>\n\n\n\n<p>Demikian artikel kami tentang cara setting SMTP Laravel, semoga bermanfaat.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kemudahan struktur yang tersedia di framework Laravel membuat pengguna maupun developer, menjadi lebih terbantu dalam proses pengembangan aplikasi maupun websitenya. Selain lebih ringkas dengan adanya library, framework laravel juga dilengkapi dengan security untuk proses authentication dan pengiriman email. Pada artikel ini, kami akan berbagi cara setting SMTP Laravel dengan script mailable. Apa yang perlu disiapkan? [&hellip;]<\/p>\n","protected":false},"author":341,"featured_media":22989,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[142],"tags":[796,919,183,1497],"class_list":{"0":"post-22865","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tips-dan-trik","8":"tag-laravel","9":"tag-panduan-laravel","10":"tag-smtp","11":"tag-tutorial-laravel"},"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/22865","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\/341"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=22865"}],"version-history":[{"count":0,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/22865\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/22989"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=22865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=22865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=22865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}