【问题标题】:Upgrade to Laravel 5.3 - Mail::send now returns null from Mandrill升级到 Laravel 5.3 - Mail::send 现在从 Mandrill 返回 null
【发布时间】:2019-03-23 14:16:17
【问题描述】:

我正在从 Laravel 5.2 升级到 5.3,但由于这样做,Mail::send 函数在通过 Mandrill 发送时没有返回 null。

我在 Laravel 4.2 中遇到了同样的问题,但似乎在升级到版本 5 时添加了此功能。

$response = Mail::send($template, $email, function($message) use($subject)
{
    $message->to('test@example.com')->subject($subject);
});

dd($response)

消息发送正常,但响应为空,升级前在 5.1 和 5.2 中给出消息 ID/内容

我不明白他们为什么要添加该功能然后又将其删除?

【问题讨论】:

    标签: laravel laravel-5 mandrill


    【解决方案1】:

    这是因为语法发生了根本性的变化。您需要使用Mailable Class 而不是回调。

    您的代码应如下所示:

    Mail::to('test@example.com')->send(new EmailExample($data));
    

    其中EmailExample 是一个扩展Mailable 并处理您的电子邮件正文和任何适用逻辑的类。

    docs here for further information

    【讨论】:

    • 不,它也一样。我观看了有关 5.3 中新的 Mailable 功能的 Laracasts 视频,Jeffery 将其解释为只是 Mail::send 的包装器。无论如何,我只是尝试过,即使使用 Mailable 它仍然返回 null
    猜你喜欢
    • 1970-01-01
    • 2018-04-23
    • 2017-02-24
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 2018-02-28
    • 2017-02-04
    相关资源
    最近更新 更多