我正在Laravel创建一个简单的联系我们。
我使用我的Gmail帐户设置了.env
。我可以用我的电子邮件地址发送来自Laravel的电子邮件,没问题。
但是,我想发送邮件表格的发件人地址发送电子邮件,联系我们表格。
这是我在控制器中的代码:
public function sendMessage(Request $request)
{
$this->validate($request,[
'email'=>'required|email',
'subject'=>'required',
'body'=>'required|max:150'
]);
$body = $request['body'];
Mail::send('emails.support',['body' => $body], function($message){
$email = Input::get('email');
$subject = Input::get('subject');
$message->sender($email);
$message->to('smartrahat@gmail.com','Mohammed');
$message->subject($subject);
});
return redirect('contactUs');
}
但是,我收到的是电子邮件地址表格,请联系我们表格,电子邮件总是通过我在.env
配置的电子邮件帐户发送
答案 0 :(得分:1)
我会做一些与众不同的事情。我猜level date CountOfRecords
1 2014-06-18 2
2 2014-06-18 1
3 2014-06-18 0
1 2014-11-06 1
2 2014-11-06 0
3 2014-11-06 0
1 2014-11-11 0
2 2014-11-11 1
3 2014-11-11 0
1 2014-11-13 0
2 2014-11-13 0
3 2014-11-13 1
是电子邮件文本?你应该将它放在一个数组中,并将其作为参数添加到Mail :: send中(或直接将$body
作为参数添加。
另外,在Mail关闭的内部,我认为把逻辑放在那里非常好(比如$ email = Input :: get)。如果你问我,它看起来不对。
没有测试过这段代码,但这应该可行:
$request->all()
因为您将$ data添加为'use',所以您可以在闭包内访问此数据。 $ data作为参数发送,可以在电子邮件刀片中使用。在此示例中,您可以访问以下数据:public function sendMessage(Request $request)
{
$this->validate($request,[
'email' => 'required|email',
'subject' => 'required',
'body' => 'required|max:150'
]);
$data = [
'email' => $request->input('email'),
'subject' => $request->input('subject'),
'body' => $request->input('body')
];
Mail::send('emails.support', $data, function($message) use ($data)
{
$message->from($data['email']);
$message->to('smartrahat@gmail.com','Mohammed');
$message->subject($data['subject']);
});
return redirect('contactUs');
}
,$email
,$subject
,在刀片中输出值。
但你也可以这样做:
$data
答案 1 :(得分:0)
foreach ($emails as $value1)
{
$to[]=implode(',',$value1['0']);
}
$subject=$request->input('sub');
$mailsend=Mail::send('email.subscribe',$mail_content,
function($message)use($to,$subject)
{
$message->from('ganarone@ganar.io','Ganar');
$message->to($to);
$message->subject($subject);
});
答案 2 :(得分:0)
public function reset_password(Request $request)
{
$user=User::whereEmail($request->email)->first();
if(count($user) == 1)
{
$data = array('name'=>"Virat Gandhi");
$subject=$request->email;
mail::send(['emails'=>'reset_set'],$data,
function($message)use($subject)
{
$message->from('your@gmail.com','kumar');
$message->to($subject);
$message->subject($subject);
});
echo "Basic Email Sent. Check your inbox.";
}
}