• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Mengirim Email dengan Mailables di Laravel 5.4

Last Updated on 24 February 2017 By tommy 2 Comments

Mengirim email dengan Laravel sangat-sangat mudah, hanya butuh beberapa baris kode, seperti sulap email bisa langsung dikirim. Email yang dikirim bisa menggunakan template, markdown ataupun plain text, sangat flexible. Untuk memudahkan mengenai pengiriman email di Laravel, kita akan membuat laravel mengirim email tiap kali ada user yang mendaftar.

Install Laravel

Install Laravel dengan composer

composer create-project --prefer-dist laravel/laravel laramail

Setting .env

Disini kita akan menggunakan mailtrap, bagian yang perlu diubah adalah MAIL_USERNAME dan MAIL_PASSWORD

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

sesuaikan dengan credential mailtrap anda. Bila belum punya akun mailtrap daftar di mailtrap.io

Authentication

Laravel sudah bisa menghandle pendaftaran, login, dan reset password untuk user, yang perlu dilakukan adalah mengaktifkannya dari terminal

php artisan make:auth

Sebelum email bisa dikirim anda harus menginstall guzzle

composer require guzzlehttp/guzzle

Buat mailable dengan nama UserTerdaftar dengan

php artisan make:mail UserTerdaftar

Buka file app/Mail/UserTerdaftar.php ubah menjadi

<?php
 
namespace App\Mail;
 
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
 
class UserTerdaftar extends Mailable {
	use Queueable, SerializesModels;
	public $user;
	/**
	 * Create a new message instance.
	 *
	 * @return void
	 */
	public function __construct($user) {
		$this->user = $user;
	}
 
	/**
	 * Build the message.
	 *
	 * @return $this
	 */
	public function build() {
        // view untuk email
		return $this->view('userbaru');
	}
}

Dibagian construct inilah yang membuat kita bisa mengirim data dari Controller ke (email) view Laravel.

Buat view (template) untuk email yang akan kita kirim resources/views/userbaru.blade.php

<h3>Hai, {{ $user->name }}</h3>
 
Email dikirim dari Laravel.

RegisterController Controller

Laravel menggunakan RegisterController untuk menghandle pendaftaran, jadi kita akan memodifikasi RegisterController untuk mengirim email begitu user mendaftar di website kita. Buka app/Http/Controllers/Auth/RegisterController.php dibagian atas tambah

use App\Mail\UserTerdaftar;

lalu ubah protected function create menjadi

    protected function create(array $data)
    {
        $user= User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
        ]);
 
        \Mail::to($data['email'])->send(new UserTerdaftar($user));
        return $user;
    }

Code lengkapnya bisa dilihat disini

Default Pengirim

Email yang dikirim masih menggunakan [email protected] untuk merubahnya buka config/mail.php edit bagian

    'from' => [
        'address' => env('MAIL_FROM_ADDRESS', '[email protected]'),
        'name' => env('MAIL_FROM_NAME', 'Example'),
    ],

Semua email yang dikirim dari web anda akan menggunakan alamat ini, bila anda ingin merubah from emailnya di UserTerdaftar.php ubah build() menjadi

return $this->from('[email protected]')
            ->view('userbaru');

Tulisan menarik lainnya

  • Membuat Generator Key dengan PHP

    Kegunaan key generator ini bisa bervariasi, salah satu contohnya adalah untuk validasi melalui email, jadi…

  • Laravel Auth Login dengan Username

    Edit file AuthenticatesAndRegistersUsers.php yang ada di folder vendor/laravel/framework/src/Illuminate/Foundation/Auth/ public function postLogin(Request $request) { $this->validate($request, […

  • Validasi Email dengan PHP

    Tutorial ini bisa dijalankan di PHP 5 >= 5.2.0 Validasi email dengan PHP, dengan validasi…

  • Mengirim SMS NEXMO dengan Laravel 5.4

    Di Laravel, untuk mengirim SMS sudah sangat mudah, karena provider SMS Gateway Nexmo ataupun yang…

Filed Under: PHP Tagged With: laravel

Reader Interactions

Comments

  1. Komang says

    15 November 2017 at 22:46

    emailnya tidak terkirim ke alamat email tujuan, hanya terkerim ke inbox mailtrap.io…mohon bantuan dan penjelasanya
    Terimakasih

    Reply
    • tommy says

      16 November 2017 at 09:48

      kalo mau yang beneran, ganti pake SMTP beneran juga :)

      Reply

Leave a Reply Cancel reply

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

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Cara Mengganti Port Screen Sharing macOS
  • Cara Menonaktifkan Pager di macOS
  • Cara Mengupdate Nama Apple silicon-as-a-Service Scaleway
  • Cara Force Delete Namespace di Kubernetes
  • Install PHP MariaDB di Mac Monterey

Komentar

  • mazda on Tutorial Lengkap Install Mail Server Postfix Dovecot MariaDB di CentOS 7
  • adi on Menggunakan Mikrotik Sebagai SSH Client
  • aris u on Solusi Simple Queue Mikrotik Tidak Berjalan
  • Bowo on Cara Mematikan SSID Molecool Balifiber
  • aris on Solusi Simple Queue Mikrotik Tidak Berjalan

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.2m views
  • Password Terbaru ZTE F609 Indihome 784.5k views
  • Password Superadmin Huawei HG8245A 318.2k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 273k views
  • Cara Setting Wireless ZTE F609 Indihome 257.1k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 169.8k views
  • Akses UseeTV Indihome via Wireless ZTE F609 156.8k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 153.1k views
  • Cara Reset Password ZTE F609 Indihome 147.5k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 113.5k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
carakami.com
kuotabisa.com
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java