2017-05-01 16 views
1

laravelアプリでmailgunドライバを使用してメールを送信しようとしています。しかし、それは私にこのエラーが発生しますメールガンを使用してメールを送信できません

Expected response code 250 but got code "530", with message "530 5.7.1 Authentication required 

のconfig/mail.php

'driver' => env('mailgun', 'smtp'), 
'from' => [ 
     'address' => env('MAIL_FROM_ADDRESS', '[email protected]'), 
     'name' => env('MAIL_FROM_NAME', 'Example'), 
    ], 

.env

MAIL_DRIVER=smtp 
MAIL_HOST=mailtrap.io 
MAIL_PORT=2525 
MAIL_USERNAME=null 
MAIL_PASSWORD=null 
MAIL_ENCRYPTION=null 

services.php私の設定が間違っている何

'mailgun' => [ 
     'domain' => env('mydomain.com.pk'), 
     'secret' => env('key-********************'), 
    ], 

あなたが食べる必要があるものは他にありますck?私は過去2日間ララキャストを勉強しようとしていますが、メールを送信しません。

php composer.phar require mailgun/mailgun-php php-http/guzzle6-adapter php-http/message 

は、次のとおりです:

require 'vendor/autoload.php'; 
use Mailgun\Mailgun; 

新しいオブジェクト:

$mgClient = new Mailgun('YOUR_API_KEY'); 

参照例を

答えて

1

あなたの設定はすべて台無しです。この部分はmail.phpのです:

'driver' => env('mailgun', 'smtp'), 
'from' => [ 
    'address' => env('MAIL_FROM_ADDRESS', '[email protected]'), 
    'name' => env('MAIL_FROM_NAME', 'Example'), 
], 

それは最初のように滞在していたはずですか? 次に、プロジェクトルートの.envファイルの設定を変更します。あなたはmail.php次の行を持っているのであれば:

'driver' => env('MAIL_DRIVER', 'smtp'), 

次に、あなたの.envファイルにあなたはmailgunにプロパティMAIL_DRIVERの値を変更することができます。

laravel 5.4で私の.envファイルのメールの部分は次のようなものになります。

MAIL_DRIVER=mailgun 
MAIL_HOST=smtp.mailgun.org 
MAIL_PORT=587 
[email protected] 
MAIL_PASSWORD=verysecretstring 
MAIL_ENCRYPTION=tls 
MAILGUN_DOMAIN=somelongstring.mailgun.org 
MAILGUN_SECRET=key-somelongstring 

をそして私はconfigディレクトリ内のファイルには何も変わっていません。 mailgunにログインすると、これらの変数のすべての値がドメインの下にあります。

また、https://laravel.com/docs/5.3/mailというドキュメントを読んだり、laravelを使ってmailgunを設定する方法についてのチュートリアルを探してみてください。

1

あなたはdocumentationで説明したように、環境設定を使用する方法を見てください。

env()機能を使用する場合は、あなたの.envファイルで定義されているように、最初の引数は変数の名前である必要があり、第二引数ながら、デフォルトです。

このように、あなたのconfig/mail.phpservices.phpであなたは次のようにあなたのenv()ファイルで定義した変数を参照する必要があります。

のconfig/mail.php

'driver' => env('MAIL_DRIVER', 'smtp'), 
'from' => [ 
    'address' => env('MAIL_FROM_ADDRESS'), 
    'name' => env('MAIL_FROM_NAME'), 
], 

services.php

'mailgun' => [ 
    'domain' => env('MAILGUN_DOMAIN'), 
    'secret' => env('MAILGUN_SECRET'), 
], 

.env

MAIL_DRIVER=mailgun 
MAIL_FROM_ADDRESS=ar[email protected] 
MAIL_FROM_NAME=Example 
MAILGUN_DOMAIN=mydomain.com.pk 
MAILGUN_SECRET=key-******************** 

たとえば、MAIL_FROM_ADDRESSなどのデフォルト値は、インストールごとに異なるため、ほとんどの場合デフォルト値を指定しないことに注意してください。さらに、MAILGUN_SECRETのようなAPIの秘密情報は、しばしばバージョン管理されるservices.phpのようなファイルに保存しないでください。

関連する問題