mail enviar electronicos desde correos correo autenticar java email amazon-ec2 amazon-web-services

electronicos - No se puede enviar correo electrónico desde el servidor Amazon EC2 en Java



javamail enviar correos electronicos desde java (2)

Intentando enviar correos desde el servidor Amazon EC2 con el código java pero obteniendo una excepción como -

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)

Resultado de Java: 1

Mi credencial está bien, no sé por qué no puedo enviar correos electrónicos aquí. ¿tendré que configurar / actualizar cualquier configuración en el servidor?


Su usuario no está autorizado en Identity and Access Management (IAM) para enviar correos electrónicos a SES.

El error 403 se refiere al código HTTP 403 no autorizado.

El error al final le dice qué permiso le falta.

arn: aws: iam :: 696355342546: usuario / brandzter no está autorizado para realizar: ses: SendEmail

Alternativamente, su cuenta de AWS puede no estar registrada en el Servicio simple de correo electrónico, pero dudo que ese sea el problema.

Puede agregar un grupo a IAM que solo permite la acción sendEmail con la siguiente política:

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

Alternativamente, puede darle una política que le permita ejecutar cualquier acción en SES con:

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


En mi caso, fui a la consola IAm, elegí mi usuario y adjunté la política AmazonSESFullAccess