簡體   English   中英

無法使用Java從Amazon EC2 Server發送電子郵件

[英]Unable to send email from Amazon EC2 Server in Java

嘗試使用java代碼從Amazon EC2服務器發送郵件,但獲得如下的異常 -

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

我的憑證還可以,不知道為什么我無法在這里發送電子郵件。 我需要配置/更新服務器中的任何設置嗎?

您未在身份和訪問管理(IAM)中授權用戶向SES發送電子郵件。

錯誤403指的是HTTP代碼403未授權。

最后的錯誤告訴你你缺少什么許可。

arn:aws:iam :: 696355342546:用戶/ brandzter無權執行:ses:SendEmail

或者,您的AWS賬戶可能沒有注冊簡單電子郵件服務,但我懷疑這是問題所在。

您可以使用以下策略向IAM添加一個僅允許sendEmail操作的組:

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

或者,您可以為其提供一個策略,允許它在SES上執行任何操作:

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

在我的情況下,我去了IAm控制台,選擇我的用戶並附加政策AmazonSESFullAccess

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM