2015-05-14 115 views
0

我使用laravel的郵件功能發送我的用戶確認電子郵件。問題是,我得到一個錯誤「未定義變量:電子郵件」Laravel郵件功能 - 範圍問題?

這是我的代碼:

$email="[email protected]"; 
    $name="thename"; 

    \Mail::send('emails.verify', ['confirmation_code' => $user->confirmation_code], function($message) { 
     $message->from('[email protected]', 'Confirmation')->to($email, $name)->subject('Please verify your email address'); 
    }); 

顯然,聲明的變量$ email和$名稱不在同一範圍爲$消息 - >從..被稱爲..

有關如何解決此問題的任何想法?

回答

1

你應該用你的閉合use聲明「列入」 $email$name變量:

\Mail::send('emails.verify', 
    ['confirmation_code' => $user->confirmation_code], 
    function($message) use ($email, $name) { 
     $message->from('[email protected]', 'Confirmation') 
       ->to($email, $name) 
       ->subject('Please verify your email address'); 
    } 
); 
+0

你錯過了在使用聲明 – Luceos

+0

感謝@Luceos'$ name',我有更新我的代碼。 –

0

你需要使用這些變量

$email="[email protected]"; 
$name="thename"; 

\Mail::send('emails.verify', ['confirmation_code' => $user->confirmation_code], function($message) use ($email,$name) { 
    $message->from('[email protected]', 'Confirmation')->to($email, $name)->subject('Please verify your email address'); 
}); 
0

因爲你是你得到這個錯誤試圖在一個函數中使用一個未定義的變量'email',所以你需要在閉包中包含'use'語句來使'email'變量可用,如下所示:


    $email="[email protected]"; 
    $name="thename";

\Mail::send('emails.verify', ['confirmation_code' => $user->confirmation_code], function($message) use ($email){ $message->from('[email protected]', 'Confirmation')->to($email, $name)->subject('Please verify your email address'); });