16

アマゾンのアカウントを新しく作りました。SMTP 認証情報を作成し、AWS Java SDK を使用して E メールを送信しました。しかし、次のエラーで失敗しています:

ステータス コード: 403、AWS サービス: AmazonSimpleEmailService、AWS リクエスト ID: xyz、AWS エラー コード: SignatureDoesNotMatch、AWS エラー メッセージ: 計算されたリクエストの署名は、提供された署名と一致しません。AWS シークレット アクセス キーと署名方法を確認します。詳細については、サービス ドキュメントを参照してください。

4

2 に答える 2

28

電子メールを送信するために提供されるキーは、「SMTP Credentials」ではありません。キーは代わりにhttp://docs.amazonwebservices.com/ses/latest/GettingStartedGuide/GetAccessIDs.htmlで取得できるグローバル アクセス キーです。

于 2013-01-12T19:18:05.397 に答える
12

SMTP 認証情報は、SES API (AWS Java SDK) での使用には無効です。SMTP クレデンシャルは、IAM ユーザー用に手動で作成されたものと実際には異なりますが、この違いは AWS コンソールのどこにも表示されません。違いを確認するには、こちらをご覧ください: http://docs.aws.amazon.com/ses/latest/DeveloperGuide/using-credentials.html

実際に Global Access 資格情報を作成する必要はありませんが (セキュリティ リークの可能性があります)、次のセキュリティ ポリシーで新しい IAM ユーザーを作成し、そのユーザーの新しい資格情報を作成する必要があります。

{
"Version": "2012-10-17",
"Statement":[{
   "Effect":"Allow",
   "Action":["ses:SendEmail", "ses:SendRawEmail"],
   "Resource":"*"
   }
]
}

PS: おそらく、SES 用に既に作成されている SMTP IAM ユーザーに新しい資格情報を追加することもできますが、これはまだテストしていません。

于 2014-06-26T14:42:57.463 に答える