web-dev-qa-db-ja.com

ルーメン5.3メールを送信

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();
5
Jayaram Venkat

パーティーに少し遅れましたが、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インストール。

28
GTCrais

Php 7.1がインストールされている場合は、Mail5.7バージョンを使用してください

composer require illuminate/mail 5.7.*
1
Hemamalini