私は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で設定された送信ドメインと同じドメインで実行されているか、電子メール内の送信アドレスだけが一致する必要がありますか)
ありがとうございます!
JSONを使用する場合は、投稿入力SMTPのユーザ名とパスワードの必要はありませんあなたの設定と一致していないようです。エラーはREST HTTPインターフェイスからのものですが、設定はSMTPのように見えます。私はRESTの設定を見つけてusername/apiKeyで設定する必要があると思います。また、ユーザー名が「SMTP_Injection」に設定されていることを確認してください。 – Yepher
セットアップするドメインと同じドメインのサーバーから送信する必要はありません。このエラーはほとんどの場合、APIキーに適切な権限を与えなかったか、ユーザー名/パスワードが正しく設定されていないかのいずれかです。 – Yepher