微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS SES 获取 MAIL FROM 域状态的“失败”状态,AWS SDK for Java 2.x

如何解决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;
}

这方面的重要链接是 -

public final String mailFromDomainStatusAsString()

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 举报,一经查实,本站将立刻删除。