如何解决AWS SES 获取 MAIL FROM 域状态的“失败”状态,AWS SDK for Java 2.x
我试图从 GetIdentityMailFromDomainAttributesResponse 的对象中获取“mailFromDomain”、“mailFromDomainStatusAsstring”和“behaviorOnMXFailureAsstring”的值。
我为此使用了适用于 Java 2 的 AWS 开发工具包。
我的代码是 -
public static Map<String,Object> getMailFromDomainSetting(String accessKeyId,String secretAccessKey,String region,String from) {
logger.info("[------------] EmailUtility- getMailFromDomainSetting() senderDomain/from : "+from);
SesClient ses = getClientObject(accessKeyId,secretAccessKey,region);
GetIdentityMailFromDomainAttributesRequest request2 = GetIdentityMailFromDomainAttributesRequest.builder().identities(from).build();
GetIdentityMailFromDomainAttributesResponse response2 = ses.getIdentityMailFromDomainAttributes(request2);
Map<String,IdentityMailFromDomainAttributes> mailFromDomainAttributes = response2.mailFromDomainAttributes();
logger.info("[------------] mailFromDomainAttributes.keySet() : "+mailFromDomainAttributes.keySet());
for(String key : mailFromDomainAttributes.keySet()) {
logger.info("[------------] mailFromDomainAttributes key : "+key+",value.mailFromDomain() : "+mailFromDomainAttributes.get(key).mailFromDomain());
logger.info("[------------] mailFromDomainAttributes key : "+key+",value.mailFromDomainStatusAsstring() : "+mailFromDomainAttributes.get(key).mailFromDomainStatusAsstring());
logger.info("[------------] mailFromDomainAttributes key : "+key+",value.behaviorOnMXFailureAsstring() : "+mailFromDomainAttributes.get(key).behaviorOnMXFailureAsstring());
}
Map<String,Object> map = new HashMap<>();
mailFromDomainAttributes.entrySet().stream().map((entrySet) -> {
String key = entrySet.getKey();
IdentityMailFromDomainAttributes value = entrySet.getValue();
map.put(key,key);
map.put("mailFromDomain",value.mailFromDomain());
return value;
}).map((value) -> {
map.put("mailFromDomainStatus",value.mailFromDomainStatusAsstring());
return value;
}).forEach((value) -> {
map.put("behaviorOnMXFailure",value.behaviorOnMXFailureAsstring());
});
return map;
}
创建 SesClient 对象的代码是 -
public static SesClient getClientObject(String accessKeyId,String region) {
AwsBasicCredentials credential = AwsBasicCredentials.create(accessKeyId,secretAccessKey);
StaticCredentialsProvider credentialProvider = StaticCredentialsProvider.create(credential);
SesClient amazonSimpleEmailService = SesClient.builder().credentialsProvider(credentialProvider).region(Region.of(region)).build();
return amazonSimpleEmailService;
}
这方面的重要链接是 - https://sdk.amazonaws.com/java/api/latest/software/amazon/awssdk/services/pinpointemail/model/MailFromAttributes.html
https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-mx-record.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。