如何从联系表中获取电子邮件发件人姓名 - Laravel 邮件

How to get the email senders name from the contact form - Laravel Mail

如何从表单输入字段更改邮件主题、标题和发件人姓名,

这是我的联系方式

<h1>Contact</h1>
<form action="contact/store" method="post">
    @csrf
    <label>Name</label>
<input type="text" name="name" placeholder="Name">
<br>
<label>Email</label>
<input type="email" name="email" placeholder="Email">
<br>
<label>Message</label>
<textarea name="message" cols="30" rows="10"></textarea>
<button type="submit">Submit</button>
</form>

这是我的邮件控制器

public function store(Request $request)
{
    $name = $request->name;
    $email = $request->email;
    $textmessage = $request->message;

    $data = array('name' => $name, 'email' => $email, 'textmessage' => $textmessage);
    Mail::send('mail', $data, function ($message) {
        $message->to('jareerzeenam.29@gmail.com', 'Email Title')->subject('Test Subject 2');
        $message->from('test@gmail.com', 'Test Name 2');
    });
    echo "HTML Email Sent. Check your inbox.";
}

这是我的 mail.blade.php

    <h1>Hi, i'm {{ $name }}</h1>
<p>Email :{{ $email }}</p>
<p>Message : {{ $textmessage }}</p>

这是我收到电子邮件的方式

我如何才能从联系表单输入字段中获取我的电子邮件中的名称,而不是我在控制器中提供的静态名称,希望我的问题是可以理解的。

而不是使用

->to('jareerzeenam.29@gmail.com', 'Email Title')

使用

->to([['mail' => 'jareerzeenam.29@gmail.com', 'name' => 'Email Title']])

因此,to() 接受接收者数组,接收者可以是包含名称和邮件的数组。

你只需要分配nameemail,我没找到主题,所以我就默认了。

试试这个:

public function store(Request $request)
{
    $name = $request->name;
    $email = $request->email;
    $textmessage = $request->message;

    $data = array('name' => $name, 'email' => $email, 'textmessage' => $textmessage);
    Mail::send('mail', $data, function ($message) use ($name, $email) {
        $message->to('jareerzeenam.29@gmail.com', 'Email Title')->subject('Test Subject 2');
        $message->from($email, $name);
    });
    echo "HTML Email Sent. Check your inbox.";
}