提问者:小点点

如何从联系人表单中获取电子邮件发件人的姓名-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>

以下是我收到电子邮件的方式

如何将联系人表单输入字段中的姓名改为控制器中的静态姓名,希望我的问题可以理解。


共2个答案

匿名用户

您只需要分配名称电子邮件,我没有找到主题,所以我将其保留为默认值。

试试这个:

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.";
}

匿名用户

而不是使用

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

使用

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

因此,to()接受接收器数组,并且接收器可以是具有名称和邮件的数组。