Kendala mengirim email dengan nama pengirim dinamis mailtrap & laravel

Assalamu'alaikum Saya sudah belajar cara mengirim email melalui Mailtrap disini dan saya ingin tahu bagaimana cara mengirim pesan dengan mencantumkan email pengirimnya secara dinamis, sebab dalam tutorial namanya sudah di atur maka hasilnya setiap pesan akan dtg dari nama yang sama, berikut coding yg saya kerjakan mohon dibantu.

ini coding simple controller utk mnyimpan data dlam database dan mngrim pesan dan bagian ini sukses.

public function testingemail(Request $request)
  {
    $testing = new emailing;
    $testing->send_from   = Auth::user()->email;
    $testing->send_to     = $request->sendto;
    $testing->description = $request->description;
    $testing->save();
    $_SESSION['name'] = Auth::user()->name;
    $_SESSION['role'] = AUth::user()->role;
    Mail::to($testing->send_to)->send(new notification());
    return view('homelecturer', ['sessionname' => $_SESSION['name'],
                                  'sessionrole' => $_SESSION['role']
                                 ]);
  }

dan yg ini bagian mail dari Mail folder yg merujuk pada hlman HTML yg berisi pesan

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class notification extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->from('dari@admin.com')->view('testingemail');
    }
}

yg jadi pertanyaannya bisa gak yg function build() nilai dari from()nya mnjadi dinamis dan merujuk pada variable $testing->send_from pada controller di atas?

terima kasih

avatar MuhammadRamdani
@MuhammadRamdani

19 Kontribusi 4 Poin

Diperbarui 4 tahun yang lalu

Tanggapan

terima kasih bang, ini baru lancar, maaf sudah bnyak menyusahkan

1 Jawaban:

Jawaban Terpilih

halo, secara umum, karena kamu menggunakan satu kelas, normalnya memang pengirim hanya satu, anggap ini sistem notifikasi untuk pengiriman barang, maka pengirim barangnya misalnya: admin@tokoonline.com, agak jarang kasusnya kamu bikin pengirimnya dinamis

Kalaupun kamu mau membuat dia dinamis, coba mengirim parameter saat memanggil kelasnya contoh

<pre> //memanggil di controller Mail::to($request-&gt;user())-&gt;send(new OrderShipped($sender));

//di kelasnya di kelas OrderShipper.php, bagian fungsi function __construct()

private $sender; public function __construct($sender) { $this-&gt;sender = $sender; }

public function build() { return $this-&gt;from($this-&gt;sender)-&gt;view('testingemail'); } </pre>

<a href='https://laravel.com/docs/5.6/mail#configuring-the-sender'>dokumentasi email laravel</a>

avatar hilmanski
@hilmanski

2665 Kontribusi 2131 Poin

Dipost 4 tahun yang lalu

Tanggapan

sorry bang klau tulis komentar di jawaban soalnya gak bisa post gambar

saya di test, kalau cara penulisannya seperti di atas, karena yang kamu mau adalah sendernya dinamis

Login untuk ikut Jawaban