简单邮件服务SES

    SES-Java-SDK

    注意: 假设已经按照SesClient示例创建好了一个SesClient类的实例对象client,且可以直接使用。

    新建并验证邮件地址

    描述

    对邮件地址进行认证,调用此API会自动往待认证邮件地址发送一封激活邮件,用户需要主动访问激活链接来完成认证。邮件地址激活后,用户才能正常使用SES服务。

    代码示例

    client.verifyEmail("example@example.com");

    获取所有发信邮件地址认证状态

    描述

    调用此API会返回用户所有的邮件地址认证信息。

    参数说明

    返回的ListVerifiedEmailResponse对象包含了此次listVerifiedEmail请求的返回结果,具体参数有:

    参数 说明
    details 邮件地址认证状态信息
    --address 认证的邮件地址
    --status 认证状态,0-5分别表示认证通过、认证失败、暂时失败、认证中、认证未开始、不存在

    代码示例

    ListVerifiedEmailResponse response = client.listVerifiedEmail();
     
    for(EmailDetailModel detail : response.getDetails()){
        System.out.println(detail.getStatus());
    }

    获取单个发信邮件地址认证状态

    描述

    调用此API会返回单个邮件地址认证信息。

    参数说明

    返回的GetVerifiedEmailResp对象包含了此次getVerifiedEmail请求的返回结果,具体参数有:

    参数 说明
    detail 邮件地址认证状态信息
    --address 认证的邮件地址
    --status 认证状态,0-5分别表示认证通过、认证失败、暂时失败、认证中、认证未开始、不存在

    代码示例

    GetVerifiedEmailResponse response = this.client.getVerifiedEmail("example@example.com");

    删除单个发信邮件地址认证

    描述

    调用此API会删除指定的邮件地址认证信息。

    代码示例

    用户可以参考如下代码删除发信邮件地址认证:

    client.deleteVerifiedEmail("example@example.com");

    新建邮件域认证

    描述

    对邮件域名进行认证,调用此API会返回一个用来认证Domain的token,用户需要主动把这个token作为一条TXT记录放在域名的DNS设置中,SES会自动完成认证。

    参数说明

    返回的VerifyDomainResponse对象包含了此次verifyDomain请求的返回结果,具体参数有:

    参数 说明
    token 需要用户配置的域名txt记录

    代码示例

    用户可以按照如下代码新建邮件域认证:

    VerifyDomainResponse response = client.verifyDomain("example.com");

    新建DKIM认证

    描述

    对邮件进行DKIM认证,调用此API会返回一组tokens,用户需要用这些tokens创建DNS CNAME记录,SES会自动完成认证。

    代码示例

    VerifyDKIMResponse response = client.verifyDKIM("example.com");

    启用/禁用DKIM认证

    描述

    针对某个发送地址或者邮件域设置是否启用DKIM签名。如果启用,SES将为每个来自该地址或者该域的所有emails添加DKIM签名。

    代码示例

    client.enableDKIM("example.com");// 启用
    client.disableDKIM("example.com");// 停用

    获取所有邮件域认证详情

    描述

    查询账号下所有的邮件域名信息。

    代码示例

    ListVerifiedDomainResponse response = client.listVerifiedDomain();

    获取单个邮件域详情

    描述

    查询单个邮件域的状态信息。

    代码示例

    GetVerifiedDomainResponse response = client.getVerifiedDomain("example.com");

    删除单个邮件域认证

    描述

    删除邮件域名

    代码示例

    client.deleteVerifiedDomain("example.com");

    发送邮件

    描述

    发送邮件,组织邮件内容,立即放入发送队列等待发送。只有被SES认证的邮箱地址和邮箱域名才能发送邮件。

    参数说明

    参数 说明
    toAddr 邮件的发送目的地址列表,必选
    ccAddr 邮件的抄送地址列表,可选
    bccAddr 邮件的秘送地址列表,可选
    subject 邮件的标题,可选
    text 文本格式的邮件内容,可选
    html html格式的邮件内容,可选
    attachmentFiles 附件列表,可选

    代码示例

    // build attachment files
    File attachment1 = new File("/attachment-test1.txt");
    File attachment2 = new File("/attachment-test2.md");
    File[] attachments = new File[] { attachment1, attachment2 };
    
    // send email
    SendEmailResponse response = client.sendEmail("123449491@qq.com", new String[] { "example@example.com" }, "test", "<B>TEST</B>", attachments);
    
    // print result info
    System.out.println(response.getMessageId());

    设置反馈方式

    描述

    通知反馈设置。

    代码示例

    SetFeedbackRequest request = new SetFeedbackRequest();
    request.setType(2);
    request.setEmail("feedback@example.com");
    request.setEnabled(true);
    
    client.setFeedback(request);

    查询反馈方式

    描述

    获取用户的通知反馈方式。

    代码示例

    GetFeedbackResponse response = client.getFeedback();

    获取配额

    描述

    查询用户当前的发送限制配额。

    参数说明

    getQuota()方法返回一个GetQuotaResponse对象,其具体参数如下:

    参数 说明
    maxPerDay 一天的总发送配额
    maxPerSecond 每秒的发送配额
    usedToday 当天已用的配额

    代码示例

    GetQuotaResponse response = client.getQuota();

    获取邮件接收黑名单列表

    描述

    获取邮件接收方黑名单。

    代码示例

    ListRecipientBlacklistResponse response = client.listRecipientBlacklist();

    查询接收者是否在黑名单中

    描述

    查询接收者是否在黑名单中。

    代码示例

    IsInRecipientBlacklistResponse response = this.client.isInRecipientBlacklist("example@example.com");
    上一篇
    SesClient
    下一篇
    API参考