【发布时间】:2019-04-10 12:24:14
【问题描述】:
在此我使用“Mail::raw()”在 Laravel - PHP 中发送和发送电子邮件。从数据库获得请求后,我将接收者的电子邮件地址分配给“$email”。在这种情况下 '$message->to('$email');'给出错误“给定 [$email] 的邮箱中的地址不符合 RFC 2822, 3.6.2。”。而不是 '$email','abcdef@test.com' 它工作得很好。而且在“Mail::row()”函数内部,无法获取请求值而不是硬编码电子邮件地址。下面是代码。
Controller.php
public function sendEmailToUser(Request $request)
{
$email = (String)$request->get('email');
$messageBody = $request->get('password');
$response = null;
$res_type = null;
\Mail::raw($messageBody, function ($message) {
$message->from('abcd@gmail.com', 'TESTING');
$message->to('$email');
$message->subject('TESTING TITLE');
});
// check for failures
if (\Mail::failures())
{
$response ="Email sent unsuccess";
$res_type = 'warning';
}
else
{
$response ="Email sent successful";
$res_type = 'success';
}
return redirect()->back()->with($response,$res_type);
}
【问题讨论】:
-
这里的问题是如何将变量作为电子邮件传递给 Mail::raw 函数,而不是单引号或双引号字符串
-
问题是你的
$email变量包含在单引号内。 -
没有单引号不是问题。需要在 \Mail::raw() 函数中使用 $request
标签: php email laravel-5 request phpmailer