简单邮件服务SES

    操作指南

    如果您是初次调用百度智能云产品的API,可以观看API入门视频指南,快速掌握调用API的方法。

    VerifiedEmail

    此类API通过对邮箱地址进行认证,识别用户的真实身份,以防止电子邮件欺诈。在使用SES服务之前,用户必须首先进行邮箱地址认证。以下具体介绍各认证API。

    验证邮箱地址

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

    URI
    /v1/verifiedEmail/{emailAddress}

    HTTP Method
    PUT

    参数介绍

    参数名称 类型 是否必需 描述
    emailAddress string URL参数,邮箱地址

    成功响应示例

    HTTP/1.1 200 OK

    获取全部邮箱地址认证信息

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

    URI
    /v1/verifiedEmail

    HTTP Method
    GET

    成功响应示例

    HTTP/1.1 200 OK
    {
        "details":[
            {
                “address”:”example@baidu.com”,
                “status”: 0,
            },
            ......
        ]
    }

    获取单个邮箱地址认证信息

    描述
    调用此API会返回用户指定的邮箱地址认证信息。

    URI
    /v1/verifiedEmail/{mailAddress}

    请求参数

    参数名称 类型 是否必需 描述
    mailAddress string URL参数,邮箱地址

    HTTP Method
    GET

    成功响应示例

    HTTP/1.1 200 OK
    {
        "detail":{
            “address”:”example@baidu.com”,
            “status”: 0,
        }
    }

    删除单个邮箱地址认证信息

    描述
    调用此API会删除用户指定的邮箱地址。

    URI
    /v1/verifiedEmail/{mailAddress}

    请求参数

    参数名称 类型 是否必需 描述
    mailAddress string URL参数,邮箱地址

    HTTP Method
    DELETE

    成功响应示例

    HTTP/1.1 200 OK

    VerifiedDomain

    此类API通过对邮件域进行认证,识别用户的真实身份,以防止电子邮件欺诈。在使用SES服务之前,用户必须首先进行邮件域认证。以下具体介绍各认证API。

    验证邮箱域名

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

    URI
    /v1/verifiedDomain/{domainName}

    HTTP Method
    PUT

    请求参数

    参数名称 类型 是否必需 描述
    domainName string URL参数,邮件域

    成功响应示例

    HTTP/1.1 200 OK
    {
        “token”:”asdfdasfadsfasdf==”
    }

    验证邮箱域名的DKIM

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

    URI
    /v1/verifiedDomain/{domainName}?dkim

    HTTP Method
    PUT

    请求参数

    参数名称 类型 是否必需 描述
    domainName string URL参数,邮件域

    成功响应示例

    HTTP/1.1 200 OK
    {
        "token ":[
            {
                “id”:”4534556kkk998llllnbllllhilldfkll”,
                “private_key”:””,
                “public_key”:””,
                “selector”:””,
                “cname”:””
            }
            .....
        ]
    }

    token是一个数组,返回token集合。

    启用/禁用邮箱域名的DKIM签名

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

    URI
    /v1/verifiedDomain/{domainName}?enableDkim
    /v1/verifiedDomain/{domainName}?disableDkim

    HTTP Method
    PUT

    请求参数

    参数名称 类型 是否必需 描述
    domainName string URL参数,邮件域

    成功响应示例

    HTTP/1.1 200 OK

    获取全部认证邮箱域名信息

    描述
    查询账号下所有的邮箱域名信息。

    URI
    /v1/verifiedDomain

    HTTP Method
    GET

    成功响应示例

    HTTP/1.1 200 OK
    {
        "details":[
            {
                “domain”:”abc.com”,
                “dkim_attr”:{
                    “identity”:”abc.com”,
                    “dkim_enabled”:true,
                    “token”:{
                        “keys”:[
                            {
                                "id":"13579",
                                "private_key":"xxx",
                                "public_key":"yyy",
                                "selector":"13579._domainkey",
                                "dns_record_name":"13579._domainkey.buzhidao.com",
                                "cname":"13579.dkim.baidubms.com"
                            }
                            ......
                        ]
                    },
    	        “status”:0
                }
                “domain_attr”:{
                    “domain”:”abc.com”
                    "status":1,
                    "dns_record_name":"_baidubms.buzhidao.com",
                    "dns_record_value":"adsfasdfasdfasdfasdfafdsfa=="
                }
            },
            ......
        ]
    }

    其中status为枚举值,0-5分别对应:认证成功、认证最终失败、认证暂时失败、认证中、认证未开始、认证未创建。

    获取单个认证邮箱域名信息

    描述
    查询单个邮箱地址或邮件域的状态信息。

    URI
    /v1/verifiedDomain/{domainName}

    HTTP Method
    GET

    请求参数

    参数名称 类型 是否必需 描述
    domainName string URL参数,邮件域

    成功响应示例

    HTTP/1.1 200 OK
    {;
        "detail": {
            “domain”:”abc.com”,
            “dkim_attr”:{
                “identity”:”abc.com”,
                “dkim_enabled”:true,
                “token”:{
                    “keys”:[
                        {
                            "id":"13579",
                            "private_key":"xxx",
                            "public_key":"yyy",
                            "selector":"13579._domainkey",
                            "dns_record_name":"13579._domainkey.buzhidao.com",
                            "cname":"13579.dkim.baidubms.com"
                        }
                        ......
                    ]
                },
                “status”:0
            },
            “domain_attr”:{
                “domain”:”abc.com”
                "status":1,
                "dns_record_name":"_baidubms.buzhidao.com",
                "dns_record_value":"adsfasdfasdfasdfasdfafdsfa=="
            }
        }
    }

    其中status为枚举值,0-5分别对应:认证成功、认证最终失败、认证暂时失败、认证中、认证未开始、认证未创建。

    删除认证邮箱域名

    描述
    删除邮箱域名

    URI
    /v1/verifiedDomain/{domainName}

    HTTP Method
    DELETE

    请求参数

    参数名称 类型 是否必需 描述
    domainName string URL参数,邮箱域名

    成功响应示例

    HTTP/1.1 200 OK

    邮件组设置

    添加邮件组

    描述

    允许用户添加邮件组,并使用邮件组发送邮件。由于定位于邮件发送服务而非传统的邮件服务商服务,因此该邮件组的设置只是为了方便用户邮件发送。邮件发送过程中,最多收件人限制同样适用于邮件组收件人。

    注意
    邮件组名不允许包含@以及其他非ascii字符,否则@组名视为邮件地址而非邮件组名。

    URI
    /v1/mailGroup/{mailGroupName}

    HTTP Method
    PUT

    参数介绍

    参数名称 类型 是否必需 描述
    mailGroupName string URL参数,邮箱组名

    成功响应示例

    HTTP/1.1 200 OK

    删除邮件组

    描述
    删除已添加的邮件组名。

    URI
    /v1/mailGroup/{mailGroupName}

    HTTP Method
    DELETE

    参数介绍

    参数名称 类型 是否必需 描述
    mailGroupName string URL参数,邮件组名

    成功响应示例

    HTTP/1.1 200 OK

    向邮件组中添加邮箱地址

    描述
    向邮件组中添加邮箱地址。

    URI
    /v1/mailGroup/{mailGroupName}/{mailAddress}

    HTTP Method
    PUT

    参数介绍

    参数名称 类型 是否必需 描述
    mailGroupName string URL参数,邮件组名
    mailAddress string URL参数, 邮箱地址

    成功响应示例

    HTTP/1.1 200 OK

    从邮件组中删除邮箱地址

    描述
    从邮件组中删除已添加的邮箱地址。

    URI
    /v1/mailGroup/{mailGroupName}/{mailAddress}

    HTTP Method
    DELETE

    参数介绍

    参数名称 类型 是否必需 描述
    mailGroupName string URL参数,邮件组名
    mailAddress string URL参数, 邮箱地址

    成功响应示例

    HTTP/1.1 200 OK

    查询邮件组

    描述
    查询已添加的邮件组。

    URI
    /v1/mailGroup

    HTTP Method
    GET

    成功响应示例

    HTTP/1.1 200 OK
    {
        "mail_group_name":[
                “aaaa”,
                “bbbb”
        ]
    }

    查询邮件组中邮箱地址列表

    描述
    查询某个已添加邮件组中的邮箱地址列表。

    URI
    /v1/mailGroup/{mailGroupName}

    HTTP Method
    GET

    参数介绍

    参数名称 类型 是否必需 描述
    mailGroupName string URL参数,邮件组名

    成功响应示例

    HTTP/1.1 200 OK
    {
        "mail_group": {
    		“name": "aaaa",
    		"mail_addr": [
    			{"addr": "aaaa@baidu.com"},
    			{"addr": "bbbb@baidu.com"}		
    		]
    	}
    }

    Email

    发送邮件

    描述

    1. 发送邮件,组织邮件内容,立即放入发送队列等待发送。
    2. to, cc, bcc可以使用邮件地址或者邮件组名。
    3. source中可以设置用户自定义签名“name”属性,此功能为可选配置。

    注意: 只有被SES认证的邮箱地址和邮箱域名才能发送邮件。

    URI
    /v1/email

    HTTP Method
    POST

    请求报文及参数

    {
        “mail”:{
            “source”:{
                “from”:”xxx@baidu.com”,
                "name":"自定义签名"
            },
            “destination”:{
                “to_addr”:[
                    {“addr” : ”xxx@baidu.com”},
                    {“addr”:”xxx@qq.com”}
                ],
                “cc_addr”: [
                    {“addr” : ”xxx@baidu.com”},
                    {“addr”:”xxx@qq.com”}
                ],
                “bcc_addr”: [
                    {“addr” : ”xxx@baidu.com”},
                    {“addr”:”xxx@qq.com”}
                ]
            },
            “subject”:{
                “charset”:1,
                “data”:”邮件标题”,
            }
            “priority”:1,
            “message”:{
                “text”:{
                    “charset”:1,
                    “data”:”消息内容”,
                }
            },
            “attachments”:[
                {
                    “file_name”:”test”,
                    “file_data”:{“data”:”xafdasf”}
                },
                {
                    “file_name”:”test2”,
                    “file_data”:{“data”:”xafdasf”}
                },
            ]
        }
    }

    注意:

    • toAddresses、ccAddresses、bccAddresses、return_path、reply_to、attachments、priority都是可选的; Charset为枚举类型0-4分别对应:unknown、utf8、gbk、gbk2312、Unicode。

    成功响应示例

    HTTP/1.1 200 OK
    {
        "messageId":”xxx”
    }

    FeedBack

    设置通知方式

    描述
    通知反馈设置

    URI
    /v1/feedback

    HTTP Method
    PUT

    请求报文及参数

    {
        "type":0,
        “enabled”:true,
        “email”:”xxx@baidu.com”
    }

    其中type为枚举值,1-3分别表示: 退信或投诉、退信、投诉。

    成功响应示例

    HTTP/1.1 200 OK

    获取通知方式

    描述
    获取用户的通知反馈方式

    URI
    /v1/feedback

    HTTP Method
    GET

    成功响应示例

    HTTP/1.1 200 OK
    {
        "type":0,
        “enabled”:true,
        “email”:”xxx@baidu.com”
    }

    Quota

    获取配额

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

    URI
    /v1/quota

    HTTP Method
    GET

    请求参数
    maxPerDay:用户在24小时内允许发送的最大邮件数
    maxPerSecond:用户每秒被允许发送的最大邮件数
    usedToday:用户在过去24小时内已经发送的邮件数

    成功响应示例

    HTTP/1.1 200 OK
    {
        "maxPerDay ":300,
        "maxPerSecond":2,
        "usedToday":220.0
    }

    设置配额

    描述
    设置用户发送配额

    URI
    /v1/quota

    HTTP Method
    PUT

    HTTP请求报文及参数

    {
        "maxPerDay ":”300”,
        "maxPerSecond":”2”,
    }

    成功响应示例

    HTTP/1.1 200 OK

    RecipientBlacklist

    获取接收者黑名单

    描述
    获取邮件接收方黑名单

    URI
    /v1/recipientBlacklist

    HTTP Method
    GET

    成功响应示例

    HTTP/1.1 200 OK
    { 
        "recpt":[
            {“addr”:"zhangsan@baidu.com"}
            ...
        ]
    }

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

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

    URI
    /v1/recipientBlacklist/{emailAddress}

    HTTP Method
    GET

    成功响应示例

    HTTP/1.1 200 OK
    { 
        "exist":true
    }
    上一篇
    接口规范
    下一篇
    常见问题