2

Iron.io ドライバーを使用して、Laravel 4 でキューに入れられた電子メールを設定しようとしています。電子メールの Subject 属性と From 属性に詳細を渡したいのですが、それらがキュー リクエストに入っていないようで、それらが存在すると電子メールが送信されません (エラーのあるログを探す場所がわからない)。ただし、使用するだけで問題なくMail::Send()動作します。

問題のコードは次のとおりです。

public function handleFeedbackForm() 
{
    $data = array(
        'name_f' => Input::get('name_f'),
        'name_l' => Input::get('name_l'),
        'email' => Input::get('email'),
        'commentType' => Input::get('commentType'),
        'testimonialPublish_answer' => Input::get('testimonialPublish_answer'),
        'comment' => Input::get('message')
    );
    $rules = array(
        'name_f' => 'required',
        'name_l' => 'required',
        'email' => 'required|email',
        'message' => 'required'
    );

    $v = Validator::make(Input::all(), $rules);
    if ($v->passes()) 
    {
        $emailInfo = array('name_f' => Input::get('name_f'), 
                           'name_l' => Input::get('name_l'), 
                            'email' => Input::get('email'));

        Mail::queue('emails.feedback', $data, function($message) use($emailInfo) 
        {
            $recipients = array();
            $form = MailType::find(1);

            foreach ($form->users as $user) 
            {
                $recipients[] = $user->email;
            }

            if (count($recipients) == 0) 
            {
                // Nobody for this field, send to webmaster
                $recipients[] = 'someone@somewhere.com';
            }

            $message->to($recipients)
                ->from($emailInfo['email'])
                ->subject('Foobar Feedback Form Message - ' . $emailInfo['name_f'] . ' ' . $emailInfo['name_l']);
        });

        return Redirect::to('contact')->with('feedbackSuccess', true);
    } 
    else 
    {
        return Redirect::to('contact')->with('feedbackError', true);
    }
}

何か案は?ありがとう!

4

0 に答える 0