【问题标题】:Laravel sending custom emailLaravel 发送自定义电子邮件
【发布时间】:2021-01-05 15:46:26
【问题描述】:

我不知道这是否可行

我正在尝试从我的用户表中向所有用户发送自定义电子邮件。我正在使用 laravel 中的邮件门面。

有一个像这样的刀片模板:

@component('mail::message')
# New Book Lunch
 
This is the body of the email.

@component('mail::button', ['url' => $url ?? ''])
View Order
@endcomponent

Thanks,<br>
{{ config('app.name') }}
@endcomponent

我发送邮件的方法是这样的

class NewsLetterController extends Controller
{

    public function newsletter(Request $request)
    {
        $subject = $request->name;
        $message = $request->message;

        $email = User::pluck('email');
        Mail::to($email)->(Add my custom $message and $subject)->send(new NewsLetter());
    }


}

在这里我想添加一条自定义消息并作为我填写表格的主题。怎么做才能添加自定义消息?

【问题讨论】:

    标签: php laravel laravel-mail laravel-controller


    【解决方案1】:

    查看文档:https://laravel.com/docs/8.x/mail#sending-mail

    您可以通过构造函数将变量传递给 Mailable。

    Mail::to($request->user())->send(new NewsLetter($subject, $message));
    

    并在可邮寄:

    class NewsLetter extends Mailable
    {
        // ...
    
        public function __construct(string $subject, string $message) 
        {
           $this->subject = $subject;
           $this->message = $message;
        }
    }
    

    如果您想将消息传递给视图,您的 build 可能如下所示:

    class NewsLetter extends Mailable
    {
        // ...
    
        public function build()
        {
            return $this->view('emails.newsletter')
                ->with([
                    'message' => $this->message,
                ]);
        }
    }
    

    最后,在刀片中添加消息:

    <p>{{ $message }}</p>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-11
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      • 2020-02-01
      • 1970-01-01
      • 2016-09-06
      相关资源
      最近更新 更多