Gmail smtpconfigを使用してLumenからメールを送信してみました。使ってます:
illuminate/mail
、バージョン5.3
Lumen
、バージョン5.3
メールが送れません。
私のルーター:
$app->get('/', function () use ($app) {
$app->get('mail','mailcontroller@mail');
});
私のAppServiceProvider.php
:
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider {
public function register() {
$this->app->singleton('mailer', function ($app) {
$app->configure('services');
return $app->loadComponent('mail', 'Illuminate\Mail\MailServiceProvider', 'mailer');
});
}
}
私の.env
構成:
MAIL_DRIVER=smtp
MAIL_Host=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=*******@gmail.com
MAIL_PASSWORD=*********
MAIL_ENCRYPTION=tls
私のメールコントローラー:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Mail;
class mailcontroller extends Controller {
public function mail(){
Mail::raw('Raw string email', function($msg) {
$msg->to(['****.com']);
$msg->from(['*****@gmail.com']); });
}
}
また、app.php
で次の行を有効にしました。
$app->register(App\Providers\AppServiceProvider::class);
$app->withFacades();
パーティーに少し遅れましたが、Lumen 5.4でこれを行った方法は次のとおりです(少し不器用で誰にも適していないかもしれませんが、それでも):
1)プルイン_illuminate/mail
_:
_composer require illuminate/mail
_
2)サービスプロバイダーを_bootstrap/app.php
_に追加します。
$app->register(\Illuminate\Mail\MailServiceProvider::class);
およびコメント解除$app->withFacades();
_.env
_を介して次のことが達成できる可能性がありますが、試していません:
3)phananのカスケード構成をインストールします https://github.com/phanan/cascading-config そしてインストールプロセスに従いますそこに記載されているルーメンのために
4)アプリケーションのルートにconfig
フォルダーを作成し、Laravelの_config/mail.php
_全体をコピーして貼り付けます
5)$app->configure('mail');
を_bootstrap/app.php
_に追加
6)_mail.php
_の実際の構成が正しいことを確認してください
これで、フルインストールと同じ方法でメールを送信できるようになりますLaravelインストール。
Php 7.1がインストールされている場合は、Mail5.7バージョンを使用してください
composer require illuminate/mail 5.7.*