1. ホーム
  2. php

[解決済み] Laravel 5のメールを動作させるために試していること

2022-04-27 11:24:20

質問

URLを入力して指定したユーザーにメールを送信しようとしているのですが、以下のエラーが発生します。

AbstractSmtpTransport.php の 383 行目で Swift_TransportException が発生しました。 応答コード 250 を期待しましたが、コード "530" を受け取り、メッセージ "530 5.7.1 を受け取りました。 認証が必要です。

今のところ、Gmailで使えるようにするためだけです。 どうすれば動作するようになるのでしょうか?

今のところ、こんな感じです。 mail.php

<?php
    return [
        'driver' => env('MAIL_DRIVER',' smtp'),
        'host' => env('MAIL_HOST', 'smtp.gmail.com'),
        'port' => env('MAIL_PORT', 587),
        'from' => ['address' =>"[email protected]" , 'name' => "example"],
        'encryption' => 'tls',
        'username' => env('[email protected]'),
        'password' => env('MyPassword'),
        'sendmail' => '/usr/sbin/sendmail -bs',
        'pretend' => false,
    ];

これはルートにあるものです。

Route::get('test', function() {
    Mail::send('Email.test', [], function ($message) {
        $message->to('[email protected]', 'HisName')->subject('Welcome!');
    });
});

これは私のコントローラにあるものです。

class MailController extends Controller
{
    public function Sending_Email()
    {
        $this->call('GET','Email.test');
        return View('Email.test');
    }
}

そして、これが私の .env ファイルにあるものです。

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=MyPassword

解決方法は?

私はそれが今あなたのために動作していることを知っている @Vantheman6 しかし、これはそれが他の誰かに同じである場合に備えて、私のために動作したものです。

.envファイルに、使用しているメールサービスの詳細を追加しました。そのため、以下の詳細を確認してください。

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=MyPassword

は、.env ファイルが正確であることを示します。

注: .envファイルを編集した後、サーバーを再起動することを忘れないでください。

以下のコマンドでコンフィグキャッシュをクリアします。

php artisan config:cache

サーバーを再起動しない場合、このエラーを引き起こす可能性のある変更を行ったとしても、.env ファイルはアプリに古いメールデータを提示し続けます。