发送电子邮件时如何向 Amazon SES 服务提供 AWS 密钥?
How do you provide AWS keys to Amazon SES service when sending emails?
文档说您的主目录中需要一个 'shared credentials file',但这不适用于生产环境!那么在发送电子邮件时如何指定 AWS 密钥呢?它没有给出任何例子!
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/examples-send-using-sdk.html
This code example assumes that you have installed the AWS SDK for Java, and that you have created a shared credentials file.
AmazonSimpleEmailService client =
AmazonSimpleEmailServiceClientBuilder.standard()
...
client.sendEmail(request);
他们的参考文档甚至不包含 AmazonSimpleEmailServiceClientBuilder
!
如果您使用的是 EC2 或 Lambda 或任何 AWS IAM role 支持的服务,安全的方法是创建一个可以访问 SES 并将其附加到资源的角色。您将不需要维护任何凭据。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#create-iam-role
以下 link 提供了向您的 java 程序提供凭据的不同方法
https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html
如果你想在你的计划中给予
AWSCredentialsProvider credentialsProvider = new AWSCredentialsProvider() {
@Override
public void refresh() {}
@Override
public AWSCredentials getCredentials() {
return new AWSCredentials() {
@Override
public String getAWSSecretKey() {
return "YOUR_SECRET_KEY";
}
@Override
public String getAWSAccessKeyId() {
return "YOUR_ACCESS_KEY";
}
};
}
};
AmazonSimpleEmailService client = AmazonSimpleEmailServiceClientBuilder.standard()
.withCredentials(credentialsProvider).build();
文档说您的主目录中需要一个 'shared credentials file',但这不适用于生产环境!那么在发送电子邮件时如何指定 AWS 密钥呢?它没有给出任何例子!
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/examples-send-using-sdk.html
This code example assumes that you have installed the AWS SDK for Java, and that you have created a shared credentials file.
AmazonSimpleEmailService client =
AmazonSimpleEmailServiceClientBuilder.standard()
...
client.sendEmail(request);
他们的参考文档甚至不包含 AmazonSimpleEmailServiceClientBuilder
!
如果您使用的是 EC2 或 Lambda 或任何 AWS IAM role 支持的服务,安全的方法是创建一个可以访问 SES 并将其附加到资源的角色。您将不需要维护任何凭据。 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#create-iam-role
以下 link 提供了向您的 java 程序提供凭据的不同方法 https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html
如果你想在你的计划中给予
AWSCredentialsProvider credentialsProvider = new AWSCredentialsProvider() {
@Override
public void refresh() {}
@Override
public AWSCredentials getCredentials() {
return new AWSCredentials() {
@Override
public String getAWSSecretKey() {
return "YOUR_SECRET_KEY";
}
@Override
public String getAWSAccessKeyId() {
return "YOUR_ACCESS_KEY";
}
};
}
};
AmazonSimpleEmailService client = AmazonSimpleEmailServiceClientBuilder.standard()
.withCredentials(credentialsProvider).build();