AWS SDK for Java (v1.3.8)を設定した後、 AWSJavaMailSampleを実行してすべてをテストしたいと思います。
以下が正しいことを再確認した後:
- SESにサインアップしました。
- 送信者アドレスを確認し、AWSコンソールからテストメッセージを送信しました。
- 本番アクセスを持つ。
- https://aws-portal.amazon.com/gp/aws/securityCredentialsからAwsCredentials.propertiesファイルに
accessKey
とsecretKey
を追加しました
InvalidClientTokenIdを取得しました:提供されたAWSアクセスキーIDがAWSレコードに存在しません。
[AmazonSimpleEmailService]$ java AWSJavaMailSample
Exception in thread "main" Status Code: 403, AWS Service: AmazonSimpleEmailService, AWS Request ID: 6db92cf8-8d69-11e1-b872-d1f99982ef22, AWS Error Code: InvalidClientTokenId, AWS Error Message: The security token included in the request is invalid
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:552)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:289)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:170)
at com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient.invoke(AmazonSimpleEmailServiceClient.java:479)
at com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient.listVerifiedEmailAddresses(AmazonSimpleEmailServiceClient.java:214)
at com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient.listVerifiedEmailAddresses(AmazonSimpleEmailServiceClient.java:410)
at AWSJavaMailSample.verifyEmailAddress(AWSJavaMailSample.java:155)
at AWSJavaMailSample.main(AWSJavaMailSample.java:75)
電話はどこAWSJavaMailSample.java:75
にありますかverifyEmailAddress(ses, FROM);
。
shashankaholicのコメントに続いて#1を更新します
2つの新しいユーザーを作成しました。
- ses-test、添付のAmazonSESFullAccessユーザーポリシー
{"Statement":[{"Effect":"Allow","Action":["ses:*"],"Resource":"*" }]}
- ses-smtp-user、デフォルトはAmazonSesSendingAccess
{"Statement":[{"Effect":"Allow","Action":"ses:SendRawEmail","Resource":"*"}]}
そして、私は同じ応答を受け取ります。
AdministratorAccessをses-smtp-userに接続した後でも、
{"Statement":[{"Effect":"Allow","Action":"*","Resource":"*"}]}
同じ応答が返されます。
Exception in thread "main" Status Code: 403,
AWS Service: AmazonSimpleEmailService,
AWS Request ID: [...],
AWS Error Code: InvalidClientTokenId,
AWS Error Message: The security token included in the request is invalid
この場合、どのクレデンシャルを使用する必要がありますか?
または、AWSJavaMailSampleが機能するようにAWS SDK for Javaをどのように設定する必要がありますか?
アップデート#2:
問題は、 .propertiesファイルでクレデンシャルを宣言する方法でした。
accessKey="ACCESSKEY"; # Java-string-like
代わりに私が持っていたはずだったとき
accessKey=ACCESSKEY