Laravel Mail::raw 自定义变量

Gan*_*alf 1 php laravel

我有这个片段,它使用我在 env 中设置的邮件枪 API 发送电子邮件。它全部发送,但我现在想从用户那里选择变量,并根据输入设置一些其他信息

$name       =  $request->name;
$name2      =  'hello';
$email      =  $request->email;
$message    =  $request->message;

Mail::raw($message, function($message)
{
    $message->from('hello@hello.com', 'In-app Correspondence By -- ')->subject('Welcome!');
    $message->to('pr@example.com')->cc('me@gmail.com');
});
Run Code Online (Sandbox Code Playgroud)

问题是当我输入时$message->to($email)->cc('me@gmail.com');会出现内部服务器错误,但上面的代码工作正常。

电子邮件没问题,我检查过,但确实存在。我还想对消息进行回复并插入 $email 变量。到目前为止,回复甚至将 $email 放在该主题上都会导致内部服务器错误。

可能是什么问题。

nak*_*kov 5

当你想在 PHP 中将变量传递给闭包时,你必须使用关键字use。所以试试这个:

$name       =  $request->name;
$name2      =  'hello';
$email      =  $request->email;
$message    =  $request->message;


Mail::raw($message, function($message) use ($email)
{
    $message->from('hello@hello.com', 'In-app Correspondence By -- ')->subject('Welcome!');

    $message->to($email)->cc('me@gmail.com');
});
Run Code Online (Sandbox Code Playgroud)