使用 Laravel 发送基本邮件
Sending basic mail with Laravel
我正在尝试使用 Laravel 框架设置我的邮件程序。我设置了一个非常基本的示例来发送测试邮件,只是为了验证一切是否正常工作。虽然,我无法让它工作,但它会生成如下所示的错误。请注意,我在配置文件中使用了一个我之前使用过的工作邮件程序配置,这让我相信它与我在 laravel 框架内的设置方式有关。
非常感谢任何帮助,在此先感谢!
查看:
<form action="mailer" method="post">
<input class="big_search" name="email" type="text" placeholder="Enter email address" />
<input class="big_submit" value="START FREE TRIAL" type="submit">
</form>
路线:
Route::get('/mailer', 'MyController@testEmail');
控制器:
class MyController extends BaseController {
public function testEmail(){
Mail::send('emails.verification', array('key' => 'value'), function($message){
$message->to('mymail@gmail.com', 'John Smith')->subject('Welcome!');
});
}
}
电子邮件查看,views/emails/verification。blade.php:
This is a test email
堆栈跟踪/错误:
#13 Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:5762
#12 Illuminate\Routing\RouteCollection:methodNotAllowed in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:5758
#11 Illuminate\Routing\RouteCollection:getOtherMethodsRoute in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:5736
#10 Illuminate\Routing\RouteCollection:match in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:5060
#9 Illuminate\Routing\Router:findRoute in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:5048
#8 Illuminate\Routing\Router:dispatchToRoute in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:5040
#7 Illuminate\Routing\Router:dispatch in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:715
#6 Illuminate\Foundation\Application:dispatch in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:696
#5 Illuminate\Foundation\Application:handle in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:7812
#4 Illuminate\Session\Middleware:handle in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:8419
#3 Illuminate\Cookie\Queue:handle in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:8366
#2 Illuminate\Cookie\Guard:handle in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:11029
#1 Stack\StackedHttpKernel:handle in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:657
#0 Illuminate\Foundation\Application:run in C:\xampp\htdocs\www\test\laravel-master\public\index.php:49
您正在向您的控制器发帖,但您的路由设置为仅接受获取请求:
Route::get('/mailer', 'MyController@testEmail')
只需将其更改为
Route::post('/mailer', 'MyController@testEmail')
它应该可以工作
堆栈跟踪的第一行:
#13 Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:5762
表明您正在接收 "MethodNotAllowedHttpException",表明您正在使用该路由不支持的 HTTP 方法向您的服务器发送请求
我正在尝试使用 Laravel 框架设置我的邮件程序。我设置了一个非常基本的示例来发送测试邮件,只是为了验证一切是否正常工作。虽然,我无法让它工作,但它会生成如下所示的错误。请注意,我在配置文件中使用了一个我之前使用过的工作邮件程序配置,这让我相信它与我在 laravel 框架内的设置方式有关。
非常感谢任何帮助,在此先感谢!
查看:
<form action="mailer" method="post">
<input class="big_search" name="email" type="text" placeholder="Enter email address" />
<input class="big_submit" value="START FREE TRIAL" type="submit">
</form>
路线:
Route::get('/mailer', 'MyController@testEmail');
控制器:
class MyController extends BaseController {
public function testEmail(){
Mail::send('emails.verification', array('key' => 'value'), function($message){
$message->to('mymail@gmail.com', 'John Smith')->subject('Welcome!');
});
}
}
电子邮件查看,views/emails/verification。blade.php:
This is a test email
堆栈跟踪/错误:
#13 Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:5762
#12 Illuminate\Routing\RouteCollection:methodNotAllowed in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:5758
#11 Illuminate\Routing\RouteCollection:getOtherMethodsRoute in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:5736
#10 Illuminate\Routing\RouteCollection:match in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:5060
#9 Illuminate\Routing\Router:findRoute in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:5048
#8 Illuminate\Routing\Router:dispatchToRoute in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:5040
#7 Illuminate\Routing\Router:dispatch in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:715
#6 Illuminate\Foundation\Application:dispatch in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:696
#5 Illuminate\Foundation\Application:handle in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:7812
#4 Illuminate\Session\Middleware:handle in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:8419
#3 Illuminate\Cookie\Queue:handle in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:8366
#2 Illuminate\Cookie\Guard:handle in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:11029
#1 Stack\StackedHttpKernel:handle in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:657
#0 Illuminate\Foundation\Application:run in C:\xampp\htdocs\www\test\laravel-master\public\index.php:49
您正在向您的控制器发帖,但您的路由设置为仅接受获取请求:
Route::get('/mailer', 'MyController@testEmail')
只需将其更改为
Route::post('/mailer', 'MyController@testEmail')
它应该可以工作
堆栈跟踪的第一行:
#13 Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException in C:\xampp\htdocs\www\test\laravel-master\bootstrap\compiled.php:5762
表明您正在接收 "MethodNotAllowedHttpException",表明您正在使用该路由不支持的 HTTP 方法向您的服务器发送请求