laravel和swiftmail显示进程无法启动[系统无法找到指定的路径]

sha*_*eal 8 php swiftmailer laravel-5

我正在编写一个应用程序,使用laravel和swiftmailer向客户端发送邮件,但我得到Process无法启动[系统无法找到指定的路径.]错误.

这是我的代码

环境设置

MAIL_DRIVER = smtp
MAIL_HOST = smtp.gmail.com
MAIL_PORT = 587
MAIL_USERNAME = "*********"
MAIL_PASSWORD = *******
MAIL_ENCRYPTION = tls
Run Code Online (Sandbox Code Playgroud)

调节器

 $data = array('name'=>"Virat Gandhi");
 Mail::send('emails.mail', $data, function($message) {
     $message->to('chuditex2004@yahoo.com', 'Tutorials Point')->subject
           ('Laravel HTML Testing Mail');
              $message->from('chuksdsilent@gmail.com','Virat Gandhi');
           });
           echo "HTML Email Sent. Check your inbox.";
Run Code Online (Sandbox Code Playgroud)

日志

Swift_TransportException:无法启动进程[系统找不到指定的路径.]在文件
C:\ xampp\htdocs\tranxavApi\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php第299行堆栈跟踪:1.Swift_TransportException - >()C:\ xampp\htdocs\tranxavApi\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php:299 2. Swift_Transport_StreamBuffer-> establishProcessConnection()C:\ xampp\htdocs\tranxavApi\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php:58 3. Swift_Transport_StreamBuffer-> initialize()C:\ xampp\htdocs\tranxavApi\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\AbstractSmtpTransport.php:126 4. Swift_Transport_AbstractSmtpTransport-> start() C:\ xampp\htdocs\tranxavApi\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\SendmailTransport.php:52 5. Swift_Transport_SendmailTransport-> start()C:\ xampp\htdocs\tranxavApi\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Mailer.php:67 6. Swift_Mailer-> send()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Mail\Mailer.php:451 7. Illuminate\Mail\Mailer-> sendSwiftMessage()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Mail\Mailer.php:235 8. Illuminate\Mail\Mailer - >送()C:\ XAMPP\htdocs中\ tranxavApi \厂商\ laravel \框架\ SRC \照亮\支持\外墙\ Facade.php:221 9.照亮\支持\外墙\门面- > __ callStatic()C:\ xampp\htdocs\tranxavApi\app\Http\Controllers\APIController.php:120 10. App\Http\Controllers\APIController-> sendEmail()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\Controller.php:54 11. call_user_func_array()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\Controller.php:54 12. Illuminate\Routing\Controller-> callAction() C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\ControllerDispatcher.php:45 13. Illuminate\Routing\ControllerDispatcher-> dispatch()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\Route.php:212 14.照亮\ Routing\Route-> runCon troller()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\Route.php:169 15. Illuminate\Routing\Route-> run()C:\ xampp\htdocs\tranxavApi \供应商\ laravel \框架\ SRC \照亮\路由\ Router.php:658 16.照亮\路由\路由器- >照亮\路由{闭合}()C:\ XAMPP\htdocs中\ tranxavApi \厂商\ laravel \框架\ SRC\Illuminate\Routing\Pipeline.php:30 17. Illuminate\Routing\Pipeline-> Illuminate\Routing {closure}()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\Middleware\SubstituteBindings.php:41 18.照亮\路由\中间件\ SubstituteBindings-> handle()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:149 19.照亮\管道\ Pipeline-> Illuminate\Pipeline {closure}()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 20. Illuminate\Routing\Pipeline-> Illuminate\Routing {closure}()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routin g\Middleware\ThrottleRequests.php:57 21.照亮\路由\中间件\ ThrottleRequests-> handle()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:149 22 .Iluminate\Pipeline\Pipeline-> Illuminate\Pipeline {closure}()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 23. Illuminate\Routing\Pipeline- >照亮\路由{闭合}()C:\ XAMPP\htdocs中\ tranxavApi \厂商\ laravel \框架\ SRC \照亮\管道\ Pipeline.php:102 24.照亮\管道\ Pipeline->则()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\Router.php:660 25. Illuminate\Routing\Router-> runRouteWithinStack()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\SRC \照亮\路由\ Router.php:635 26.照亮\路由\路由器- > runRoute()C:\ XAMPP\htdocs中\ tranxavApi \厂商\ laravel \框架\ SRC \照亮\路由\ Router.php:601 27 .Iluminate\Routing\Router-> dispatchToRoute()C:\ xampp\htdocs\tranxavApi\vendor\laravel\框架\ SRC \照亮\路由\ Router.php:590 28.照亮\路由\路由器- >调度()C:\ XAMPP\htdocs中\ tranxavApi \厂商\ laravel \框架\ SRC \照亮\基金会\ HTTP \内核. php:176 29. Illuminate\Foundation\Http\Kernel-> Illuminate\Foundation\Http {closure}()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:30 30. Illuminate\Routing\Pipeline-> Illuminate\Routing {closure}()C:\ xampp\htdocs\tranxavApi\vendor\fideloper\proxy\src\TrustProxies.php:56 31. Fideloper\Proxy\TrustProxies-> handle( )C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:149 32. Illuminate\Pipeline\Pipeline-> Illuminate\Pipeline {closure}()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 33. Illuminate\Routing\Pipeline-> Illuminate\Routing {closure}()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php:30 34.照亮\ Foundation\Http\Mi ddleware\TransformsRequest-> handle()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:149 35. Illuminate\Pipeline\Pipeline-> Illuminate\Pipeline {closure}( )C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 36. Illuminate\Routing\Pipeline-> Illuminate\Routing {closure}()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\TransformsRequest.php:30 37. Illuminate\Foundation\Http\Middleware\TransformsRequest-> handle()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:149 38.照亮\ Pipeline\Pipeline-> Illuminate\Pipeline {closure}()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 39. Illuminate\Routing\Pipeline-> Illuminate\Routing {closure}()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\ValidatePostSize.php:27 40.照亮\ Foundation\Http\M. iddleware\ValidatePostSize-> handle()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:149 41. Illuminate\Pipeline\Pipeline-> Illuminate\Pipeline {closure}( )C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 42. Illuminate\Routing\Pipeline-> Illuminate\Routing {closure}()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode.php:46 43. Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode-> handle()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php:149 44. Illuminate\Pipeline\Pipeline-> Illuminate\Pipeline {closure}()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Routing\Pipeline.php:53 45. Illuminate\Routing\Pipeline-> Illuminate\Routing {closure}()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Pipeline\Pipeline.php :102 46.照亮\管道\管道 - >然后()C:\ x ampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php:151 47. Illuminate\Foundation\Http\Kernel-> sendRequestThroughRouter()C:\ xampp\htdocs\tranxavApi\vendor\laravel\framework\src\Illuminate\Foundation\Http\Kernel.php:116 48. Illuminate\Foundation\Http\Kernel-> handle()C:\ xampp\htdocs\tranxavApi\public\index.php:55

Ada*_*att 1

当您没有为用于发送电子邮件的 Gmail 帐户(可以在此处完成)启用两步验证时,通常会出现此问题。因此,首先,启用两步验证,您可以找到大量用于启用两步验证的资源。启用它后,您必须创建一个应用程序密码。并在 .env 文件中使用应用程序密码。完成后,您的 .env 文件将如下所示。

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=<<your email address>>
MAIL_PASSWORD=<<app password>>
MAIL_ENCRYPTION=tls
Run Code Online (Sandbox Code Playgroud)

和你的mail.php

<?php

return [
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
'port' => env('MAIL_PORT', 587),
'from' => ['address' => '<<your email>>', 'name' => '<<any name>>'],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',
'pretend' => false,

];
Run Code Online (Sandbox Code Playgroud)

执行此操作后,运行 php artisan config:cache 和 php artisan config:clear,然后检查,电子邮件应该可以工作。