Trying to send mail from Amazon EC2 server with java code but getting an exception like -
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 Result: 1
My credential is ok don't know why I am unable to send email here. will I need to configure/update any setting in server?
You user is not authorized in Identity and Access Management (IAM) to send email to SES.
Error 403 refers to the HTTP code 403 Unauthorized.
The error at the end tells you what permission you are lacking.
Alternately your AWS account may not be signed up for the Simple Email Service, but I doubt that is the problem.
You can add a group to IAM that is allowed just the sendEmail action with the following policy:
Alternately you can give it a policy that allows it to execute any action on SES with:
In my case i Went to IAm console, choose my user and attach policy AmazonSESFullAccess