11

Javaコードを使用してAmazonEC2サーバーからメールを送信しようとしましたが、次のような例外が発生しました-

Exception in thread "main" Status Code: 403, AWS Request ID: 3e9319ec-bc62-11e1-b2ea-6bde1b4f192c, AWS Error Code: AccessDenied, AWS Error Message: User: arn:aws:iam::696355342546:user/brandzter is not authorized to perform: ses:SendEmail
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:500)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:262)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:166)
at com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient.invoke(AmazonSimpleEmailServiceClient.java:447)
at com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClient.sendEmail(AmazonSimpleEmailServiceClient.java:242)
at brandzter.util.SESExample.SendMail(SESExample.java:46)
at brandzter.util.SESExample.<init>(SESExample.java:31)
at brandzter.util.SESExample.main(SESExample.java:52)

Javaの結果:1

私のクレデンシャルは大丈夫です。なぜここにメールを送信できないのかわかりません。サーバーの設定を構成/更新する必要がありますか?

4

2 に答える 2

11

あなたのユーザーは、Identity and Access Management (IAM) で SES に電子メールを送信する権限がありません。

エラー 403 は、HTTP コード 403 Unauthorized を指します。

最後のエラーは、不足している権限を示しています。

arn:aws:iam::696355342546:user/brandzter は実行する権限がありません: ses:SendEmail

または、AWS アカウントが Simple Email Service にサインアップしていない可能性もありますが、それが問題であるとは思えません。

次のポリシーを使用して、sendEmail アクションのみを許可するグループを IAM に追加できます。

{
  "Statement": [
    {
      "Action": [
        "ses:SendEmail"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ]
    }
  ]
}

または、SES で任意のアクションを実行できるようにするポリシーを次のように指定できます。

{
  "Statement": [
    {
      "Action": [
        "ses:*"
      ],
      "Effect": "Allow",
      "Resource": [
        "*"
      ]
    }
  ]
}
于 2012-07-02T16:19:15.997 に答える