Я пытаюсь отправить электронную почту, используя AWS SES Simple Email Service в моем SpringBoot проекте. Зная, что я подтвердил свою электронную почту на AWS, а также создал AWS_ACCESS_KEY
и AWS_SECRET_KEY
.
Вот мой код:
public static void amazonSimpleEmailService(String to, String subject, String htmlBody, String textBody) {
AmazonSimpleEmailService client = AmazonSimpleEmailServiceClientBuilder.standard()
.withCredentials(
new AWSStaticCredentialsProvider(new BasicAWSCredentials(AWS_ACCESS_KEY, AWS_SECRET_KEY)))
.withRegion(Regions.EU_WEST_1).build();
SendEmailRequest request = new SendEmailRequest().withDestination(new Destination().withToAddresses(to))
.withMessage(new Message()
.withBody(new Body().withHtml(new Content().withCharset("UTF_8").withData(htmlBody))
.withText(new Content().withCharset("UTF-8").withData(textBody)))
.withSubject(new Content().withCharset("UTF-8").withData(subject)))
.withSource(MAIL_ADMIN);
client.sendEmail(request);
}
При построении моего кода на Jenkins (экземпляр EC2) , эта ошибка возникает
Caused by: com.amazonaws.SdkClientException: Unable to load AWS credentials from any provider in the chain: [com.amazonaws.auth.EC2ContainerCredentialsProviderWrapper@55fe41ea: The requested metadata is not found at http://169.254.169.254/latest/meta-data/iam/security-credentials/, com.amazonaws.auth.profile.ProfileCredentialsProvider@2aceadd4: profile file cannot be null]
Я сомневаюсь, что чего-то не хватает, но не могу найти, что это такое.