2012-06-22 6 views
10

Попытки отправить почту с сервера Amazon EC2 с Java кодом, но получает исключение, как -Невозможно отправить электронную почту с Amazon EC2 сервера в Java

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

Моего полномочия ок дон Не знаю, почему я не могу отправить электронное письмо здесь. Мне нужно настроить/обновить любые настройки на сервере?

+0

не S3 только для хранения данных? возможно, в EC2 вы можете отправить электронное письмо. –

+0

Да, извините, его EC2 –

+0

Возможно, вы захотите изменить название своего сообщения. –

ответ

11

Вы не авторизованы в системе управления идентификацией и доступом (IAM) для отправки электронной почты на SES.

Ошибка 403 относится к HTTP-коду 403 Несанкционирован.

Ошибка в конце говорит вам, какое разрешение вам не хватает.

ARN: AWS: РМОК :: 696355342546: пользователь/brandzter не разрешаются выполнять: SES: SendEmail

Поочередно ваш счет AWS не может быть подписан для Простой электронной почты службы, но Я сомневаюсь, что это проблема.

Вы можете добавить группу в IAM, что допускается только действие SendEmail со следующей политики:

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

В качестве альтернативы вы можете дать ему такую ​​политику, которая позволяет ему выполнять какие-либо действия на СЭС с:

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

Эти два кодовых блоков одинаковы ... Вы, наверное, хотите, чтобы второй один следующим образом: { «Заявление»: [{ «Эффект»: «Разрешить», «Действие»: [ " SES: *» ], "Ресурс": [ "*" ] } ] } – Laizer

+0

Пропущенный что. Спасибо ... –

5

в моем случае я пошел в IAM консоли выберите мой пользователь и присоединять политики AmazonSESFullAccess

+0

Кроме того, я добавил AmazonSESFullAccess к роли этого пользователя. –

+0

Я не нашел AmazonSESFullAccess для пользователя, но я смог добавить его в группу, к которой принадлежит этот пользователь. благодаря – CodePlumber

Смежные вопросы