2016-10-14 13 views
1

私は現在、Laravel 5.2に基づいていくつかのアプリを開発中です。私はユーザーにパスワードリセットリンクを設定したメールを送信する必要があり、私はmailgunを使用しています。 mailgunが登録されているメールにメールを送信すると、すべてうまく動作しています。しかし、他の電子メールアドレスであれば失敗します。Laravel 5.2 mailgunエラー不正リクエスト

エラーは言う:RequestException.php線71で

ClientException: クライアントエラー応答[URL] https://api.mailgun.net/v3/sandbox ********************* **********。mailgun.org/messages.mime [理由コード]不当要求

私は多くのソリューションを試しましたが、いずれも機能しませんでした。それがどうして起こるのか?たぶんそれはlocalhostによって引き起こされますか? 私が使用しています:

  • Laravel 5.2
  • Mailgun
  • WAMPを私のlocalhostのよう
  • guzzlehttpのV.4.0

コントローラー機能:

public function sendEmail() { 
    $sent = Mail::send('mails.test', [], function ($message) { 
     $message->to('[email protected]','somename'); 
     $message->subject("Activate Your Account"); 
     $message->getSwiftMessage(); 
    }); 
    if ($sent === 0) { 
     return redirect('/') 
      ->withErrors('Failed to send activation email.'); 
    } 
    return redirect('/') 
     ->withSuccess('Mail was sent.'); 
} 

のenvデータ:

MAIL_DRIVER=mailgun 
MAIL_HOST=smtp.mailgun.org 
MAIL_PORT=587 
[email protected]*****************************.mailgun.org 
MAIL_PASSWORD=********************** 
MAIL_ENCRYPTION=null 

MAILGUN_DOMAIN=sandbox*****************************.mailgun.org 
MAILGUN_SECRET=key-***************************** 

ファイル:confに/ mail.phpが.envデータとして設定されている

ルート:

Route::get('auth/send','[email protected]'); 

ボタン:

<a href="{{action('[email protected]')}}" class="btn btn-danger">Test mail</a> 
+0

あなたが試みているコードを投稿できますか? –

答えて

0

.envからMAIL_HOST=smtp.mailgun.orgを削除してみて与えます試してみる。私は過去に同じ状況に直面し、私のために働いたMAIL_HOSTを取り除いた。新.env設定は、この後

MAIL_DRIVER=mailgun 
MAIL_PORT=587 
[email protected]*****************************.mailgun.org 
MAIL_PASSWORD=********************** 
MAIL_ENCRYPTION=null 

MAILGUN_DOMAIN=sandbox*****************************.mailgun.org 
MAILGUN_SECRET=key-***************************** 

ようになり、command lineからphp artisan config:cachephp artisan config:clearを実行して、メールが働くかどうかを確認してください。

+0

不運にも仕事をしませんでした – tmonq

関連する問題