405尝试使用Laravel通过路径发送电子邮件时出错

时间:2015-02-05 21:34:01

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

尝试使用Laravel发送电子邮件,但一直收到405错误,并显示whoops页面:

 * @param  array  $others
 * @return void
 *
 * @throws \Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException
 */
protected function methodNotAllowed(array $others)
{
    throw new MethodNotAllowedHttpException($others);
}

代码是:

{{ Form::open(array('url' => 'admin/newemail')) }}
  // form items
{{ Form::close() }}

路线是:

Route::get('admin/newemail', function()
{
    $email = 'email@hotmail.com';
    $data = array('s' => Input::get('email-heading'));
    Mail::send('emails.wereback', $data, function($message) use ($email){
        // $message details
    });
});

但是,如果我直接转到url admin / newemail,它可以正常工作。

任何帮助?

1 个答案:

答案 0 :(得分:0)

默认情况下,Form助手会生成一个使用POST方法的html表单。如果需要使用其他方法,可以指定方法:

{{ Form::open(array('url' => 'admin/newemail', 'method' => 'GET')) }}

或者您也可以更改路线以匹配POST请求:

Route::post('admin/newemail', function()
{
    // [...]
});