2017-09-26 20 views
0

私はLaravel Mailの文書https://laravel.com/docs/5.4/mailに従ってSparkPostアカウントでメールを送信しています。私がしようとすると、私は設定/ services.phpでsparkpost鍵を持っているドキュメントを1として、私は Sparkpost(Laravel 5.4)で電子メールを送信しようとするとUnauthorizedエラーが発生しました

ClientException 
Client error: `POST https://api.sparkpost.com/api/v1/transmissions` resulted in a `401 Unauthorized` response: 
{"errors": [ {"message": "Unauthorized."} ]} 

を取得していますし、ドキュメントはそれについて何も言及していないのに送信(なぜありませんの!?)私の.envファイルにメールドライバなどを設定してくれると確信していました。私はその後、私は実際に私が設定したmailableとビューを使用したい

array:9 [▼ 
    "driver" => "sparkpost" 
    "host" => "smtp.sparkpostmail.com" 
    "port" => "587" 
    "from" => array:2 [▶] 
    "encryption" => "tls" 
    "username" => "my-sparkpost-account-login-email-address" 
    "password" => "my-sparkpost-account-login-password" 
    "sendmail" => "/usr/sbin/sendmail -bs" 
    "markdown" => array:2 [▶] 
] 

を与える

Route::get('test', function() 
{ 
    dd(Config::get('mail')); 
}); 

、使用されている設定を確認するために、ウェブルートを持っていますが、単にテストします私はこれらをバイパスし、テストするには、次のルートを設定送信:

Route::get('/sparkpost', function() { 
    Mail::send('emails.test', [], function ($message) { 
    $message 
     ->from('[email protected]', 'Me') 
     ->to('my-email-address', 'My-Name') 
     ->subject('A Test Email'); 
    }); 
}); 

上部にエラーが発生しましたこれは(私のmailablesとビューでのテストは、私は彼らが正しく設定されていると思わせるまったく同じエラーを与えた - と上記のテストルートを合計することが正しい)。

私のローカルマシンでテストしているので、テストURLはhttp://localhost/seg/public/sparkpostです。これがSparkPostを上回っているかどうかは疑問です(つまり、実際にサーバーから送信する必要がありますかsparkpostで設定された送信ドメインと同じドメインで実行されているか、電子メール内の送信アドレスだけが一致する必要がありますか)

ありがとうございます!

+0

JSONを使用する場合は、投稿入力SMTPのユーザ名とパスワードの必要はありませんあなたの設定と一致していないようです。エラーはREST HTTPインターフェイスからのものですが、設定はSMTPのように見えます。私はRESTの設定を見つけてusername/apiKeyで設定する必要があると思います。また、ユーザー名が「SMTP_Injection」に設定されていることを確認してください。 – Yepher

+0

セットアップするドメインと同じドメインのサーバーから送信する必要はありません。このエラーはほとんどの場合、APIキーに適切な権限を与えなかったか、ユーザー名/パスワードが正しく設定されていないかのいずれかです。 – Yepher

答えて

0

あなたは、SMTPドライバー、

を使用する場合は、それはあなたのsparkpostアカウントの資格情報ではありません 、SMTPの資格情報を取得するために> SMTPリレーをアカウントに行く必要があります。

あなたがsparkpostドライバ、あなたが設定/ services.phpにsparkpostのAPIキーを入れる必要

を使用している場合、あなたはsparkpostドライバ

+0

私は内蔵APIを使用していますが、SMTPはありません。 –

+0

sparkpostのapiキーをconfig/services.phpに置く必要があります。sparkpostドライバを使用する場合は、smtpのユーザー名とパスワードを入力する必要はありません –

関連する問題