【问题标题】:Showing undefined variable: sendemail Laravel Beautymail显示未定义的变量:sendemail Laravel Beautymail
【发布时间】:2019-12-20 02:49:04
【问题描述】:

我无法发送电子邮件。如果我输入“$sendemail = $insert->email;”,它会显示未定义的变量,但如果我像“biswanath123@gmail.com”这样手动输入电子邮件,则此变量运行良好。如何解决?

use Snowfire\Beautymail\Beautymail;

function email($id)
{
    $insert = Clientdetail::find($id);
    $sendemail = $insert->email;

    $data = [
        'name' => $insert->name,
        'email' => $insert->email,
        'phone' => $insert->phone,
        'city' => $insert->city,
        'insurance' => $insert->insurance,
        'policyno' => $insert->policyno,
        'amount' => $insert->amount,
        'pdffile' => 'http://localhost/Bitu/insurancewebsite/'.$insert->filepath
    ];

    $beautymail = app()->make(Beautymail::class);
    $beautymail->send('emails.Admin.policydetail', ["data1" => $data], function ($message) use ($sendemail) {
        $message->from('babuli.prasad.singh@gmail.com', 'Insurance Website')
            ->to($sendemail, 'Insurance Website');
    });
}

【问题讨论】:

    标签: laravel laravel-5 eloquent laravel-6


    【解决方案1】:

    您需要在闭包中包含变量。 send 函数中的to 方法在没有use 关键字的情况下看不到$sendemail 变量。

     $beautymail->send('emails.Admin.policydetail', ["data1"=>$data], function($message) use($sendemail)
     {
        $message
         ->from('babuli.prasad.singh@gmail.com','Insurance Website')
         ->to($sendemail, 'Insurance Website')
      // etc
    }
    

    假设$insert->email 有效,这应该会为您解决未定义的错误。

    【讨论】:

    • 非常感谢兄弟。伊茨工作。我有一个问题...如何在电子邮件中附加 pdf 文件?
    • 很高兴它有帮助。要附加文件,请使用 send 中的 attach() 方法。不要忘记use 上述文件的变量。查看 Laravel 文档以了解更多信息 - 但它非常简单,只需加载文件、使用它并附加到消息中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 1970-01-01
    • 2020-05-06
    • 2019-08-17
    相关资源
    最近更新 更多