根据用户输入向用户的电子邮件发送电子邮件

时间:2017-04-23 00:51:17

标签: php laravel email laravel-5 laravel-4

enter image description here

我正在尝试向用户发送确认电子邮件

$email   = $inputs['email']; <-------------------------------- HERE 

这段代码工作正常。

//Send email to me
$mail = Mail::send('layouts.share.emails.rsvp', array('message' => $message, 'input' => Input::all(), 'ip' => $ip ) , function ($message) {
      $message->from(env('MAIL_USERNAME') , 'bheng gmail');
      $message->to(env('MAIL_TO') , 'LR Wedding\'s Site RSVP ')->subject(' LR Wedding RSVP ');
});

我试过

我被困在这段代码上。

//Send email to user
$mail = Mail::send('layouts.share.emails.thanks', array('message' => $message, 'input' => Input::all(), 'ip' => $ip,'email'=>$email ) , function ($message) {
         $message->from(env('MAIL_USERNAME') , 'bheng gmail');
         $message->to($email, 'LR Wedding\'s Site RSVP ')->subject(' LR Wedding RSVP ');
});

我得到了

  

未定义的变量:电子邮件

我以为我已经宣布了$ email变量 怎么做到这一点?

2 个答案:

答案 0 :(得分:1)

您的$ email变量可能/可能是在调用它的代码范围之外。尝试将您的电子邮件变量放在同一范围或全局范围内。 有关javascript中范围的详细信息,请尝试此link

答案 1 :(得分:1)

以你完成的方式传递$email会将其传递给视图,但不传递给函数的内部范围。

为此,请在use ($email)之后添加function ($message)

示例:

//Send email to user
$mail = Mail::send('layouts.share.emails.thanks', array('message' => 
$message, 'input' => Input::all(), 'ip' => $ip,'email'=>$email ) , function ($message) use ($email) {
     $message->from(env('MAIL_USERNAME') , 'bheng gmail');
     $message->to($email, 'LR Wedding\'s Site RSVP ')->subject(' LR Wedding 
RSVP ');
});

https://laravel.com/docs/5.2/mail#sending-mail