Laravel 从lumen发送电子邮件
我使用Laravel 从lumen发送电子邮件,laravel,email,lumen,Laravel,Email,Lumen,我使用vue.js作为前端,使用Lumen作为api服务。现在我需要从lumen发电子邮件。这就是我为此所做的 .env文件 MAIL_DRIVER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=********@gmail.com MAIL_PASSWORD=********** MAIL_FROM_ADDRESS=******@gmail.com MAIL_FROM_NAME=Sample Email App MAIL_E
vue.js
作为前端,使用Lumen作为api服务。现在我需要从lumen发电子邮件。这就是我为此所做的
.env文件
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=********@gmail.com
MAIL_PASSWORD=**********
MAIL_FROM_ADDRESS=******@gmail.com
MAIL_FROM_NAME=Sample Email App
MAIL_ENCRYPTION=tls
然后编辑文件bootstrap\app.php
,并取消对以下行的注释
$app->register(App\Providers\AppServiceProvider::class);
$app->withFacades();
Dotenv::load(__DIR__.'/../');
$app->withEloquent();
在控制器中,我使用了以下代码
use Illuminate\Support\Facades\Mail;
private function sendActivationEmail( $email = null ){
$email_sent = false;
if( $email != null ){
// send email
Mail::raw('Raw string email', function($msg) {
$msg->to(['tismon@gmail.com']); $msg->from(['x@x.com']);
});
}
return $email_sent;
}
不幸的是,这是行不通的。有人能告诉我哪里出错了吗?在bootstrap/app.php文件中注册
MailServiceProvider
$app->register(\Illuminate\Mail\MailServiceProvider::class);
$app->configure('mail');
尝试在register函数中向AppServiceProvider.php添加以下代码
$this->app->singleton('mailer', function ($app) {
$app->configure('services');
return $app->loadComponent('mail', 'Illuminate\Mail\MailServiceProvider', 'mailer');
});
如果在上述配置后无法工作,请尝试邮件发送功能
Mail::send('user.emails.registration' , $data, function($msg) use ($to,$from,$subject)
{
$msg->to($to)->from($from)->subject($subject);
});
不幸的是,没有工作<代码>[2017-10-20 18:55:25]lumen.ERROR:Symfony\Component\Debug\Exception\fatalthrowable错误:在/api/vendor/laravel/lumen framework/src/Application.php中找不到类'light\Mail\MailServiceProvider'。php:164 Stack trace:#0/api/bootstrap/app.php(267):laravel\lumen\Application->register('light\\Mail…')