简体   繁体   English

Laravel 邮件提供发件人详细信息

[英]Laravel mail provide sender detail

I need to get my user email address along with form data in order to set ->from() in my mailable file我需要获取我的用户电子邮件地址以及表单数据,以便在我的可邮寄文件中设置->from()

code代码

controller function

public function store(Request $request)
    {
        $request->validate([
            'product' => 'required|string',
            'email' => 'required|email',
            'message' => 'required|string',
        ]);

        $user = $request->user(); // need to add this

        $inquery = new Inquery;
        $inquery->user_id = $user->id;
        $inquery->product = $request->input('product');
        $inquery->email = $request->input('email');
        $inquery->message = $request->input('message');
        $inquery->save();

        Mail::to('xyz@example.com')->send(new InquiryToAdmin($inquery));
}

Mailable file

class InquiryToAdmin extends Mailable
{
    use Queueable, SerializesModels;

    public $data;
    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($data)
    {
        $this->data = $data;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->from($user['email'])->subject('New Inquiry was sent')->view('emails.inquiry.admin');
    }
}

NOTE:笔记:

What I need is to get ->from($user['email']) for that i need to send my $user from controller to mailable file (commented in code), the problem is I cannot set $user to be send to my mailable file.我需要的是->from($user['email'])因为我需要将$user从控制器发送到可邮寄文件(在代码中注释),问题是我无法将$user设置$user发送到我的可邮寄文件。

Any idea?任何的想法?

try this尝试这个

Mail::to('xyz@example.com')->send(new InquiryToAdmin($inquery,$user));

class InquiryToAdmin extends Mailable
{
    use Queueable, SerializesModels;

    public $data;
    protected $user;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($data,$user)
    {
        $this->data = $data;
        $this->user = $user;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->from($this->user->email)->subject('New Inquiry was sent')->view('emails.inquiry.admin');
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM