首页 > 解决方案 > 无法启动进程 [系统找不到指定的路径。] 在使用 Laravel 的邮件功能时

问题描述

在为 Laravel 使用 smtp 或 mailgun MAIL_DRIVER 时出现错误:无法启动进程 [系统找不到指定的路径。] 到目前为止,我无法弄清楚这个问题。

我试图确保所有配置等都是正确的,并在不同的 laravel 安装上对其进行了测试,并且在该安装上也遇到了同样的问题。

我测试的 smtp 的 .env 配置:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME={removed for security}
MAIL_PASSWORD={removed for security}
MAIL_FROM_ADDRESS=from@example.com
MAIL_FROM_NAME=Example

我测试过的 mailgun 的 .env 配置:

MAIL_DRIVER=mailgun
MAILGUN_DOMAIN={removed for security}
MAILGUN_SECRET={removed for security}
MAILGUN_ENDPOINT={removed for security}
MAIL_FROM_ADDRESS=from@example.com
MAIL_FROM_NAME=Example

我的代码用于通过路由发送邮件:

use Illuminate\Support\Facades\Mail;

Route::get('/',function(){
    $data = [
        'title' => 'Hi Example, How are You?',
        'content' => 'Testing out the mail system'
    ];

    Mail::send('emails.test',$data, function($message){
        $message->to('example@gmail.com','Example')->subject('Hello Example, Whats Up');
    });
});

我的邮件查看文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <h1>{{$title}}</h1>
    <p>{{$content}}</p>
</body>
</html>

预期的结果是它应该在 smtp 或 mailgun 的情况下发送消息,但是它抛出了一个错误:

Swift_TransportException
Process could not be started [The system cannot find the path specified. ]

标签: phplaravellaravel-5swiftmailerlaravel-mail

解决方案


请注意,当您对文件进行更改时,请.env确保重新启动您的 laravel 应用程序,方法是停止该过程并使用以下命令重新启动它:

ctrl C停止和 php artisan serve开始


推荐阅读