发送相关

最新更新:2023-03-14

普通发送

URL

https://email.api.engagelab.cc/v1/mail/send
          https://email.api.engagelab.cc/v1/mail/send

        
此代码块在浮窗中显示

Content-Type:

Content-Type: application/json;charset=utf-8
          Content-Type: application/json;charset=utf-8

        
此代码块在浮窗中显示

HTTP请求方式

POST
          POST

        
此代码块在浮窗中显示

请求Header

Header 类型 必须 说明
Authorization String true Basic base64(api_user:api_key)

请求参数

参数 类型 必须 说明
from string 发件人。举例:support@mail.engagelab.com,support<support@mail.engagelab.com>
to array[string] 收件人。最大支持100个地址。如 ["xjm@hotmail.com","xjm2@gmail.com"]
body object 邮件设置
custom_args object 客户自定义的可选字段,最大支持1KB。
request_id string 本次发送请求ID;最大支持128字符。

Body

参数 类型 必须 说明
cc array[string] 抄送地址。最大支持100个地址。仅send_mode = 1时,本参数有效。
bcc array[string] 密送地址。最大支持100个地址。仅send_mode = 1时,本参数有效。
reply_to array[string] 回复地址。最大支持3个地址;如果不传值, 则回复邮件地址为 from。
subject string 邮件主题。最大256字符;支持变量、emoji。
content object 邮件正文。
html string * 邮件的内容。邮件格式为 text/html。
text string * 邮件的内容。 邮件格式为 text/plain。
preview_text string 邮件摘要
vars object 变量。最大支持1MB;当 send_mode=0 或send_mode=1 时,本参数有效。
dynamic_vars object 动态模板变量。最大支持1MB;当 send_mode=0 或send_mode=1 时,本参数有效。
label_id string 本次发送所使用的标签ID
label_name string 本次发送所使用的标签名字
headers object 邮件头部信息。最大1KB。
attachments array[object] 邮件附件。总大小不得超过10MB。
content string 附件内容 base64 编码
filename string 附件文件名,例如: example.pdf
disposition string 值允许 attachment、inline。
content_id string 如果 disposition 的值为 inline, 文件类型为 image , 则需要设置该值。
settings object 发送设置
send_mode int 发送方式。 0表示单独发送;1表示广播发送,所有收件人会同时显示;2表示地址列表发送,to的值为地址列表别称。 默认为0。
return_email_id boolean 是否返回email ID,默认true。
sandbox boolean 是否使用沙箱模式,默认false。如果为true,邮件不会被投递,只会验证请求参数是否合法.
notification boolean 是否使用已读回执,默认false。默认回执到from,需要和收信路由配合使用。
open_tracking boolean 是否开启open追踪,默认系统设置值。当 send_mode=0 或 send_mode=1时,本参数有效。
click_tracking boolean 是否开启click追踪,默认系统设置值。当 send_mode=0 或 send_mode=1 时,本参数有效。
unsubscribe_tracking boolean 是否开启取消订阅,默认系统设置值。当send_mode=0 或 send_mode=1时,本参数有效。
unsubscribe_page_id array[int] 自定义取消订阅页面,默认系统设置值。当 send_mode=0 或 send_mode=1时,本参数有效。

注意:

  1. send_mode=2时,to的值为地址列表别称,个数不能超过5个,且此时参数cc、bcc失效。

  2. html 和 plain 不能同时为空。

  3. preview_text只能和html一起使用,如果不传html的值,preview_text的值不会生效。

  4. vars用于邮件内容的变量替换,格式为json对象,格式为{"varname":["value1,"value2"]},其中varname为邮件内容变量。

    邮件内容为:亲爱的%name%,欢迎使用%sp%邮件服务。 对应vars传值:{"name":["mike"], "sp":["engagelab"]} 邮件内容替换:亲爱的mike,欢迎使用engagelab邮件服务。
               邮件内容为:亲爱的%name%,欢迎使用%sp%邮件服务。
     
     对应vars传值:{"name":["mike"], "sp":["engagelab"]}
     
     邮件内容替换:亲爱的mike,欢迎使用engagelab邮件服务。
    
            
    此代码块在浮窗中显示
  5. dynamic_vars用于动态模版变量替换,格式为json对象,格式为[{"varname1":"value1","varname2":“value2”}]

    邮件内容为:亲爱的 {{name}},欢迎使用{{sp}}邮件服务。 dynamic_vars传值:[{"name":"jim","sp":“engagelab”}] 邮件内容替换:亲爱的jim,欢迎使用engagelab邮件服务。
              邮件内容为:亲爱的 {{name}},欢迎使用{{sp}}邮件服务。
    
    dynamic_vars传值:[{"name":"jim","sp":“engagelab”}]
    
    邮件内容替换:亲爱的jim,欢迎使用engagelab邮件服务。
    
            
    此代码块在浮窗中显示
  6. 用户传label_id或者label_name,如果label_name不存在则系统自动创建;如果label_id和label name同时传值,label_name被忽略

  7. headers用于自定义邮件的头域,格式为json对象,格式为{"User-Define":"123", "User-Custom":"abc"}。但是key的字符串不能包含以下值(不区分大小写)

    DKIM-Signature ,Received ,Sender ,Date ,From ,To ,Reply-To ,Cc ,Bcc ,Subject ,Content-Type , Content-Transfer-Encoding ,X-SENDCLOUD-UUID ,X-SENDCLOUD-LOG ,X-Remote-Web-IP ,X-SMTPAPI, Return-Path,X-SENDCLOUD-LOG-NEW

  8. disposition被设置为inline时,附件内容是图片,附件会作为内联图片直接在邮件正文中渲染显示。content_id必须设置且唯一字符串,作为图片在邮件正文中显示时的src。

邮件正文: <html> <img src="cid:image_1000"></img> <img src="cid:image_1001"></img> </html> attachments参数: [ {"content":" base 64 image content", "filename": "a23456.jpg","disposition": "inline","content_id": "image_1000"}, {"content":" base 64 image content", "filename": "a23457.jpg","disposition": "inline","content_id": "image_1001"}, ]
              邮件正文:
    <html>
        <img src="cid:image_1000"></img>
        <img src="cid:image_1001"></img>
    </html>
    
    attachments参数:
    [
      {"content":" base 64 image content", "filename": "a23456.jpg","disposition": "inline","content_id": "image_1000"},
      {"content":" base 64 image content", "filename": "a23457.jpg","disposition": "inline","content_id": "image_1001"},
    ]

        
此代码块在浮窗中显示
  1. customer_args 作为客户自定义内容,会在邮件头埋点;后续的WebHook数据中,会回传给客户 。

  2. request_id 为防止重复提交,有效期1小时。若1小时内重复提交,将返回上次请求结果。

  3. 邮件总大小不能超过70MB。

请求示例

curl -X POST -H 'Content-Type: application/json; charset=utf-8' -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' --data '{ "from": "EngageLab Newsletter <newsletter@mail.engagelab.com>", "to": ["111@qq.com", "222<222@qq.com>"], "body": { "cc": ["noreply@mail.engagelab.com"], "bcc": ["intern<intern@mail.engagelab.com>"], "reply_to": ["reply@mail.engagelab.com"], "subject": "%date% Newsletter ", "content": { "html": "<a href=\"https://www.engagelab.com\">Newsletter %kkk%</a>", "text": "Today's news is %ttt%", "preview_text": "preview_text is ..." }, "vars": { }, "dynamic_vars":[], "label_id": 100233, "label_name": "", "headers": {}, "attachments": [{ "content": "The Base64 encoded content of the attachment", "filename": "The attachment's filename", "disposition": "inline | attachment", "content_id": "" }], "settings": { "send_mode": 0, "return_email_id": true, "sandbox": false, "notification": false, "open_tracking": true, "click_tracking": false, "unsubscribe_tracking": true, "unsubscribe_page_id": [1,2] } }, "custom_args": {}, "request_id": "" }' 'https://email.api.engagelab.cc/v1/mail/send'
          curl -X POST -H 'Content-Type: application/json; charset=utf-8' 
     -H 'Authorization:Basic YXBpX3VzZXI6YXBpX2tleQ==' 
     --data '{
  "from": "EngageLab Newsletter <newsletter@mail.engagelab.com>", 
  "to": ["111@qq.com", "222<222@qq.com>"],
  "body": {
      "cc": ["noreply@mail.engagelab.com"],                            
      "bcc": ["intern<intern@mail.engagelab.com>"],                  
      "reply_to": ["reply@mail.engagelab.com"],                         
      "subject": "%date% Newsletter ",                                       
      "content": {                                                     
        "html": "<a href=\"https://www.engagelab.com\">Newsletter %kkk%</a>", 
        "text": "Today's news is %ttt%",                                      
        "preview_text": "preview_text is ..."                          
         },
      "vars": { },
       "dynamic_vars":[],
      "label_id": 100233, 
      "label_name": "",
      "headers": {},
      "attachments": [{                                                
        "content": "The Base64 encoded content of the attachment",    
        "filename": "The attachment's filename",            
        "disposition": "inline | attachment",                           
        "content_id": ""  
      }],
      "settings": {                 
        "send_mode": 0, 
        "return_email_id": true,  
        "sandbox": false,
        "notification": false,
        "open_tracking": true,                                           
        "click_tracking": false,                                         
        "unsubscribe_tracking": true,                              
        "unsubscribe_page_id": [1,2]
      }
  },
  "custom_args": {},           
  "request_id": "" 
}'  'https://email.api.engagelab.cc/v1/mail/send' 

        
此代码块在浮窗中显示

响应示例

  • 非地址列表发送(send_mode=0或send_mode=1)

    Response-success

HTTP Status: 200

{ "email_ids":[ "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound0$111@qq.com", "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound1$222@qq.com"], "request_id":"" }
          {
"email_ids":[
      "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound0$111@qq.com",
      "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound1$222@qq.com"],
"request_id":""
}

        
此代码块在浮窗中显示

Response-error

HTTP Status :400

{ "code": 30801, "message": "From can not be empty" }
          {
    "code": 30801,
    "message": "From can not be empty"
}

        
此代码块在浮窗中显示
  • 地址列表发送(send_mode=2)

Response-success

HTTP Status: 200

{ "task_id":[102923], "request_id":"" }
          {
"task_id":[102923],
"request_id":""
}

        
此代码块在浮窗中显示

Response-error

HTTP Status :400

{ "code": 30801, "message": "From can not be empty" }
          {
    "code": 30801,
    "message": "From can not be empty"
}

        
此代码块在浮窗中显示

模板发送

URL

https://email.api.engagelab.cc/v1/mail/sendtemplate
          https://email.api.engagelab.cc/v1/mail/sendtemplate

        
此代码块在浮窗中显示

Content-Type:

Content-Type: application/json; charset=utf-8
          Content-Type: application/json; charset=utf-8

        
此代码块在浮窗中显示

HTTP请求方式

POST
          POST

        
此代码块在浮窗中显示

请求Header

Header 类型 必须 说明
Authorization String true Basic base64(api_user:api_key)

请求参数

参数 类型 必须 说明
from string 发件人。举例:support@mail.engagelab.com,support<support@mail.engagelab.com>.
to array[string] 收件人。最大支持100个地址。如 ["xjm@hotmail.com","xjm2@gmail.com"]
body object 邮件设置
custom_args object 客户自定义的可选字段,最大支持1KB。
request_id string 本次发送请求ID;最大支持128字符。

Body

参数 类型 必须 说明
cc array[string] 抄送地址。最大支持100个地址。仅send_mode = 1时,本参数有效。
bcc array[string] 密送地址。最大支持100个地址。仅send_mode = 1时,本参数有效。
reply_to array[string] 回复地址。最大支持3个地址;如果不传值, 则回复邮件地址为 from。
subject string 邮件主题。最大256字符;支持变量、emoji。若填写将覆盖调用模板的主题。
template_invoke_name string 模板调用名称。
vars object 变量。最大支持1MB;当send_mode=0 或send_mode=1时,本参数有效。
dynamic_vars object 动态模板变量。最大支持1MB;当 send_mode=0 或send_mode=1 时,本参数有效。
label_id string 本次发送所使用的标签ID。
label_name string 本次发送所使用的标签名字
headers object 邮件头部信息。最大1KB。
attachments array[object] 附件设置
content string 附件内容base64编码
filename string 附件文件名,例如: example.pdf
disposition string 值允许attachment、inline。
content_id string 如果disposition被设置为inline,文件类型为image,需要设置该值。
settings object 发送设置
send_mode int 发送方式。0表示单独发送;1表示广播发送,所有收件人会同时显示;2表示地址列表发送,to的值为地址列表别称.默认为0。
return_email_id boolean 是否返回email ID,默认true。
sandbox boolean 是否使用沙箱模式,默认false。如果为true,邮件不会被投递,只会验证请求参数是否合法。
notification boolean 是否使用已读回执,默认false。默认回执到from,需要和收信路由配合使用。
open_tracking boolean 是否开启open追踪,默认系统设置值。当 send_mode=0 或 send_mode=1 时,本参数有效。
click_tracking boolean 是否开启click追踪,默认系统设置值。当send_mode=0 或 send_mode=1时,本参数有效。
unsubscribe_tracking boolean 是否开启取消订阅。默认系统设置值。当send_mode=0 或 send_mode=1 时,本参数有效。
unsubscribe_page_id array[int] 自定义取消订阅页面,默认系统设置值。当send_mode=0 或 send_mode=1 时,本参数有效。

注意:

  1. send_mode=2时,to的值为地址列表别称,个数不能超过5个,且此时参数cc、bcc失效。

  2. vars用于邮件内容的变量替换,格式为json对象,格式为{"varname":["value1,"value2"]},其中varname为邮件内容变量。

    邮件内容为:亲爱的%name%,欢迎使用%sp%邮件服务。 对应vars传值:{"name":["mike"], "sp":["engagelab"]} 邮件内容替换:亲爱的mike,欢迎使用engagelab邮件服务。
              邮件内容为:亲爱的%name%,欢迎使用%sp%邮件服务。
    
    对应vars传值:{"name":["mike"], "sp":["engagelab"]}
    
    邮件内容替换:亲爱的mike,欢迎使用engagelab邮件服务。
    
            
    此代码块在浮窗中显示
  3. dynamic_vars用于动态模版变量替换,格式为json对象,格式为[{"varname1":"value1","varname2":“value2”}]

    邮件内容为:亲爱的 {{name}},欢迎使用{{sp}}邮件服务。 dynamic_vars传值:[{"name":"jim","sp":“engagelab”}] 邮件内容替换:亲爱的jim,欢迎使用engagelab邮件服务。
              邮件内容为:亲爱的 {{name}},欢迎使用{{sp}}邮件服务。
    
    dynamic_vars传值:[{"name":"jim","sp":“engagelab”}]
    
    邮件内容替换:亲爱的jim,欢迎使用engagelab邮件服务。
    
            
    此代码块在浮窗中显示
  4. 用户传label_id或者label_name,如果label_name不存在则系统自动创建;如果label_id和label name同时传值,label_name被忽略

  5. headers用于自定义邮件的头域,格式为json对象,格式为{"User-Define":"123", "User-Custom":"abc"}。但是key的字符串不能包含以下值(不区分大小写)

    DKIM-Signature ,Received ,Sender ,Date ,From ,To ,Reply-To ,Cc ,Bcc ,Subject ,Content-Type , Content-Transfer-Encoding ,X-SENDCLOUD-UUID ,X-SENDCLOUD-LOG ,X-Remote-Web-IP ,X-SMTPAPI, Return-Path,X-SENDCLOUD-LOG-NEW

  6. disposition被设置为inline时,附件内容是图片,附件会作为内联图片直接在邮件正文中渲染显示。content_id必须设置且唯一字符串,作为图片在邮件正文中显示时的src。

邮件正文: <html> <img src="cid:image_1000"></img> <img src="cid:image_1001"></img> </html> attachments参数: [ {"content":" base 64 image content", "filename": "a23456.jpg","disposition": "inline","content_id": "image_1000"}, {"content":" base 64 image content", "filename": "a23457.jpg","disposition": "inline","content_id": "image_1001"}, ]
              邮件正文:
    <html>
        <img src="cid:image_1000"></img>
        <img src="cid:image_1001"></img>
    </html>
    
    attachments参数:
    [
      {"content":" base 64 image content", "filename": "a23456.jpg","disposition": "inline","content_id": "image_1000"},
      {"content":" base 64 image content", "filename": "a23457.jpg","disposition": "inline","content_id": "image_1001"},
    ]

        
此代码块在浮窗中显示
  1. custom_args作为客户自定义内容,会在邮件头埋点;后续的WebHook数据中,会回传给客户 。
  2. request_id 为防止重复提交,有效期1小时。若1小时内重复提交,将返回上次请求结果。
  3. 邮件总大小不能超过70MB。

示例

month_bill 模板内容

亲爱的%name%: 您好! 您本月在爱发信的消费金额为: %money% 元.
          亲爱的%name%:
  您好! 您本月在爱发信的消费金额为: %money% 元.

        
此代码块在浮窗中显示

模板普通发送示例( 调用模板 month_bill )

curl -X POST "https://email.api.engagelab.cc/v1/mail/sendtemplate" --header "Authorization: Basic <<YOUR_API_KEY_HERE>>" --header "Content-Type: application/json" --data '{ "from": "support@mail.engagelab.com", "to": ["xjmfc@126.com", "xjmfcme@gmail.com"], "body": { "subject": "test email", "template_invoke_name": "month_bill", "label_id": 10143, "label_name": "", "vars": { "%name%": ["jack", "jone"], "%money%": ["30", "50"] }, "headers": { "userdefine-tag-location": "us", "userdefine-tag-user": "fashion" }, "attachments": [{ "content": "The Base64 encoded content of the attachment", "filename": "The attachment's filename", "disposition": "inline | attachment", "content_id": "" }], "settings": { "send_mode": 0, "return_email_id": true, "sandbox": false, "notification": false, "open_tracking": true, "click_tracking": false, "unsubscribe_tracking": true, "unsubscribe_page_id": [1, 2] } }, "custom_args": {}, "request_id": "" }' #xjmfc@126.com收到的邮件: 亲爱的jack: 您好! 您本月在爱发信的消费金额为: 30 元. #--------------------------------------------------- # xjmfcme@gmail.com 收到的邮件: 亲爱的Joe: 您好! 您本月在爱发信的消费金额为: 50 元.
          curl -X POST "https://email.api.engagelab.cc/v1/mail/sendtemplate" 
--header "Authorization: Basic <<YOUR_API_KEY_HERE>>" 
--header "Content-Type: application/json" 
--data '{
    "from": "support@mail.engagelab.com",
    "to": ["xjmfc@126.com", "xjmfcme@gmail.com"],
    "body": {
        "subject": "test email",
        "template_invoke_name": "month_bill",
        "label_id": 10143,
        "label_name": "",
        "vars": {
            "%name%": ["jack", "jone"],
            "%money%": ["30", "50"]
        },
        "headers": {
            "userdefine-tag-location": "us",
            "userdefine-tag-user": "fashion"
        },
        "attachments": [{
            "content": "The Base64 encoded content of the attachment",
            "filename": "The attachment's filename",
            "disposition": "inline | attachment",
            "content_id": ""
        }],
        "settings": {
            "send_mode": 0,
            "return_email_id": true,
            "sandbox": false,
            "notification": false,
            "open_tracking": true,
            "click_tracking": false,
            "unsubscribe_tracking": true,
            "unsubscribe_page_id": [1, 2]
        }
    },
    "custom_args": {},
    "request_id": ""
        
}'


#xjmfc@126.com收到的邮件:
亲爱的jack:

    您好! 您本月在爱发信的消费金额为: 30 元.

#---------------------------------------------------
# xjmfcme@gmail.com 收到的邮件:
亲爱的Joe:
  
    您好! 您本月在爱发信的消费金额为: 50 元.

        
此代码块在浮窗中显示

响应示例

Response-success

HTTP Status: 200

{ "email_ids":[ "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound0$xjmfc@126.com", "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound1$xjmfcme@gmail.com"], "request_id":"" }
          
{
"email_ids":[
      "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound0$xjmfc@126.com",
      "1447054895514_15555555_32350_1350.sc-10_10_126_221-inbound1$xjmfcme@gmail.com"],
"request_id":""
}

        
此代码块在浮窗中显示

Response-error

HTTP Status :404

not found
          not found

        
此代码块在浮窗中显示

模板地址列表发送 ( 调用模板 month_bill , 调用地址列表 users@maillist.email.engagelab.com )

curl -X POST "https://email.api.engagelab.cc/v1/mail/sendtemplate" --header "Authorization: Basic <<YOUR_API_KEY_HERE>>" --header "Content-Type: application/json" --data '{ "from": "admin@engaelab.com", "to": ["users@maillist.email.engagelab.com"], "body": { "subject": "2022年11月账单", "template_invoke_name": "month_bill", "label": "双11" } }'
          curl -X POST "https://email.api.engagelab.cc/v1/mail/sendtemplate" 
--header "Authorization: Basic <<YOUR_API_KEY_HERE>>" 
--header "Content-Type: application/json" 
--data '{
    "from": "admin@engaelab.com",
    "to": ["users@maillist.email.engagelab.com"],
    "body": {
        "subject": "2022年11月账单",
        "template_invoke_name": "month_bill",
        "label": "双11"
    }
}'

        
此代码块在浮窗中显示

Response-success

HTTP Status: 200

{ "task_id":[102923], "request_id":"" }
          {
"task_id":[102923],
"request_id":""
}

        
此代码块在浮窗中显示

Response-error

HTTP Status :404

not found
          not found

        
此代码块在浮窗中显示

发送会议日历

URL

https://email.api.engagelab.cc/v1/mail/sendcalendar
          https://email.api.engagelab.cc/v1/mail/sendcalendar

        
此代码块在浮窗中显示

Content-Type:

Content-Type: application/json; charset=utf-8
          Content-Type: application/json; charset=utf-8

        
此代码块在浮窗中显示

HTTP请求方式

POST
          POST

        
此代码块在浮窗中显示

请求Header

Header 类型 必须 说明
Authorization String true Basic base64(api_user:api_key)

请求参数

参数 类型 必须 说明
from string 发件人。举例:support@mail.engagelab.com,support<support@mail.engagelab.com>
to array[string] 收件人。最大支持100个地址.如 ["xjm@hotmail.com","xjm2@gmail.com"]
body object 邮件设置
custom_args object 客户自定义的可选字段。
request_id string 请求ID

Body

参数 类型 必须 说明
cc array[string] 抄送地址。最大支持100个地址。仅send_mode = 1时,本参数有效。
bcc array[string] 密送地址。最大支持100个地址。仅send_mode = 1时,本参数有效。
reply_to array[string] 回复地址。最大支持3个地址;如果不传值, 则回复邮件地址为 from。
subject string 邮件主题。最大256字符;支持变量、emoji。
content object 邮件内容设置。
html string * 邮件的内容。邮件格式为 text/html。
text string * 邮件的内容。 邮件格式为 text/plain。
preview_text string 邮件摘要。
vars object 变量。最大支持1MB;当send_mode=0 或send_mode=1时,本参数有效。
dynamic_vars object 动态模板变量。最大支持1MB;当 send_mode=0 或send_mode=1 时,本参数有效。
label_id string 本次发送所使用的标签ID
label_name string 本次发送所使用的标签名字
headers object 邮件头部信息。最大1KB。
attachments array[object] 邮件附件。总大小不得超过10MB。
content string 附件内容base64编码
filename string 附件文件名,例如: example.pdf
disposition string 允许值为:inline、attachment。
content_id string 如果disposition被设置为inline,文件类型为image,需要设置该值。
settings object 发送设置
send_mode int 发送方式。 0表示单独发送;1表示广播发送,所有收件人会同时显示; 默认为0。
return_email_id boolean 返回email ID,默认true。
sandbox boolean 是否使用沙箱模式,默认false。如果为true,邮件不会被投,只会验证请求参数是否合法。
notification boolean 是否使用回执,默认false。默认回执到from,需要和收信路由配合使用。
open_tracking boolean 是否开启open追踪,默认系统配置值。当 send_mode=0 或 send_mode=1 时,本参数有效。
click_tracking boolean 是否开启click追踪,默认系统配置值。当 send_mode=0 或 send_mode=1时,本参数有效。
unsubscribe_tracking boolean 是否开启取消订阅,默认系统配置值。当 send_mode=0 或 send_mode=1 时,本参数有效。
unsubscribe_page_id array[int] 自定义取消订阅页面,默认系统设置值。当 send_mode=0 或 send_mode=1 时,本参数有效。
calendar object 日历设置
time_zone_id string 示例参见日历时区字典
start_time string 日程开始时间。形如: yyyy-MM-dd HH:mm:ss
end_time string 日程结束时间。形如: yyyy-MM-dd HH:mm:ss
title string 会议标题。最大256字符。
organizer object 组织者
name string 名称。最大64字符。
email string 邮箱地址
location string 会议地点。最大128字符。
description string 会议描述。最大1024字符。
participators array[object] 参与者
name string 名字。最大64字符
email string 邮箱地址
alarm_min_before integer 提前多少分钟进行会议提醒。范围1 ~ 60。
action object 日历操作
name string 操作名称。允许值:create,update, cancel。默认值为create。
uid string update 和 cancel 时候需要传递此参数。 uid值会在create日历邮件时接口返回。

注意:

  1. html 和 plain 不能同时为空。

  2. preview_text只能和html一起使用,如果不传html的值,preview_text的值不会生效。

  3. vars用于邮件内容的变量替换,格式为json对象,格式为{"varname":["value1,"value2"]},其中varname为邮件内容变量。

    邮件内容为:亲爱的%name%,欢迎使用%sp%邮件服务。 对应vars传值:{"name":["mike"], "sp":["engagelab"]} 邮件内容替换:亲爱的mike,欢迎使用engagelab邮件服务。
              邮件内容为:亲爱的%name%,欢迎使用%sp%邮件服务。
    
    对应vars传值:{"name":["mike"], "sp":["engagelab"]}
    
    邮件内容替换:亲爱的mike,欢迎使用engagelab邮件服务。
    
            
    此代码块在浮窗中显示
  4. 用户传label_id或者label_name,如果label_name不存在则系统自动创建;如果label_id和label name同时传值,label_name被忽略

  5. dynamic_vars用于动态模版变量替换,格式为json对象,格式为[{"varname1":"value1","varname2":“value2”}]

邮件内容为:亲爱的 {{name}},欢迎使用{{sp}}邮件服务。 dynamic_vars传值:[{"name":"jim","sp":“engagelab”}] 邮件内容替换:亲爱的jim,欢迎使用engagelab邮件服务。
          邮件内容为:亲爱的 {{name}},欢迎使用{{sp}}邮件服务。

dynamic_vars传值:[{"name":"jim","sp":“engagelab”}]

邮件内容替换:亲爱的jim,欢迎使用engagelab邮件服务。

        
此代码块在浮窗中显示
  1. headers用于自定义邮件的头域,格式为json对象,格式为{"User-Define":"123", "User-Custom":"abc"}。但是key的字符串不能包含以下值(不区分大小写)

    DKIM-Signature ,Received ,Sender ,Date ,From ,To ,Reply-To ,Cc ,Bcc ,Subject ,Content-Type , Content-Transfer-Encoding ,X-SENDCLOUD-UUID ,X-SENDCLOUD-LOG ,X-Remote-Web-IP ,X-SMTPAPI, Return-Path,X-SENDCLOUD-LOG-NEW

  2. disposition被设置为inline时,附件内容是图片,附件会作为内联图片直接在邮件正文中渲染显示。content_id必须设置且唯一字符串,作为图片在邮件正文中显示时的src。

邮件正文: <html> <img src="cid:image_1000"></img> <img src="cid:image_1001"></img> </html> attachments参数: [ {"content":" base 64 image content", "filename": "a23456.jpg","disposition": "inline","content_id": "image_1000"}, {"content":" base 64 image content", "filename": "a23457.jpg","disposition": "inline","content_id": "image_1001"}, ]
              邮件正文:
    <html>
        <img src="cid:image_1000"></img>
        <img src="cid:image_1001"></img>
    </html>
    
    attachments参数:
    [
      {"content":" base 64 image content", "filename": "a23456.jpg","disposition": "inline","content_id": "image_1000"},
      {"content":" base 64 image content", "filename": "a23457.jpg","disposition": "inline","content_id": "image_1001"},
    ]

        
此代码块在浮窗中显示
  1. custom_args作为客户自定义内容,会在邮件头埋点;后续的WebHook数据中,会回传给客户 。
  2. request_id 为防止重复提交,有效期1小时。若1小时内重复提交,将返回上次请求结果。
  3. 邮件总大小不能超过70MB。

请求示例

curl -X POST 'https://email.api.engagelab.cc/v1/mail/sendcalendar' \ --header 'Authorization: Basic MTIyNF94am06MTJkOGIwODVlNjZhZGUyMmNlNGIwOWI5NjQ2YWQ1ODE=' \ --header 'Content-Type: application/json' \ --data '{ "from": "EngageLab Newsletter <newsletter@mail.engagelab.com>", "to": ["111@qq.com", "222<222@qq.com>"], "body": { "cc": ["noreply@mail.engagelab.com"], "bcc": ["intern<intern@mail.engagelab.com>"], "reply_to": ["reply@mail.engagelab.com"], "subject": "%date% Newsletter ", "content": { "html": "<a href=\"https://www.engagelabe.com\">Newsletter %kkk%</a>", "text": "Newsletter %ttt%", "preview_text": "preview_text is ..." }, "label_id": "1233", "label_name": "", "headers": { "userdefine-tag-location": "us", "userdefine-tag-user": "fashion" }, "settings": { "send_mode": 0, "return_email_id": true, "sandbox": false, "notification": false, "open_tracking": true, "click_tracking": false, "unsubscribe_tracking": true, "unsubscribe_page_id": [1,2] }, "calendar": { "time_zone_id":"America/New_York", "start_time": "2020-12-10 10:00:00", "end_time": "2020-12-10 12:00:00", "title": "meeting titel", "organizer": { "name": "David", "email": "david@mail.engagelab.com" }, "location": "room208", "description": "hello", "alarm_min_before": 5, "participators": [ { "name": "p1", "email": "p1@engagelab.org" }, { "email": "p2@engagelab.org", "name": "p2"}, { "email": "p3@engagelab.org"} ], "action": { "name": "create", "uid": "329r239h239888" } } }, "custom_args": {}, "request_id": "" }'
          curl -X POST 'https://email.api.engagelab.cc/v1/mail/sendcalendar' \
--header 'Authorization: Basic MTIyNF94am06MTJkOGIwODVlNjZhZGUyMmNlNGIwOWI5NjQ2YWQ1ODE=' \
--header 'Content-Type: application/json' \
--data '{
  "from": "EngageLab Newsletter <newsletter@mail.engagelab.com>",       
  "to": ["111@qq.com", "222<222@qq.com>"],    
  "body": {
      "cc": ["noreply@mail.engagelab.com"],       
      "bcc": ["intern<intern@mail.engagelab.com>"],         
      "reply_to": ["reply@mail.engagelab.com"], 
      "subject": "%date% Newsletter ", 
      "content": { 
        "html": "<a href=\"https://www.engagelabe.com\">Newsletter %kkk%</a>", 
        "text": "Newsletter %ttt%",   
        "preview_text": "preview_text is ..." 
      },
      "label_id": "1233",  
      "label_name": "",
      "headers": {                   
        "userdefine-tag-location": "us",  
        "userdefine-tag-user": "fashion"
      },
     
      "settings": {                                                    
        "send_mode": 0,        
        "return_email_id": true,     
        "sandbox": false,        
        "notification": false, 
        "open_tracking": true,                          
        "click_tracking": false,                       
        "unsubscribe_tracking": true,  
        "unsubscribe_page_id": [1,2]
      },
      "calendar": {
        "time_zone_id":"America/New_York",
        "start_time": "2020-12-10 10:00:00",  
        "end_time": "2020-12-10 12:00:00",  
        "title": "meeting titel",                                              
        "organizer": {      
          "name": "David",        
          "email": "david@mail.engagelab.com"                    
        },
        "location": "room208",                                         
        "description": "hello",                                        
        "alarm_min_before": 5,                                         
        "participators": [  
          { 
            "name": "p1",                                                
            "email": "p1@engagelab.org"
          },                      
          { "email": "p2@engagelab.org", "name": "p2"},
          { "email": "p3@engagelab.org"}
        ],
        "action": {                                                      
          "name": "create",   
          "uid": "329r239h239888"                                    
        }
      }
  },
  "custom_args": {},           
  "request_id": "" 
}'

        
此代码块在浮窗中显示

Response-success

HTTP Status: 200

{ "uid": "20230103T065922Z-uidGen@PC201503200437", "email_ids": [ "1672729159224_15_2942_8497.sc-10_2_226_96-test0$111@qq.com", "1672729159224_15_2942_8497.sc-10_2_226_96-test1$222@qq.com" ], "request_id": "" }
          {
    "uid": "20230103T065922Z-uidGen@PC201503200437",
    "email_ids": [
        "1672729159224_15_2942_8497.sc-10_2_226_96-test0$111@qq.com",
        "1672729159224_15_2942_8497.sc-10_2_226_96-test1$222@qq.com"
    ],
    "request_id": ""
}

        
此代码块在浮窗中显示

Response-error

HTTP Status :400

{ "code": 30801, "message": "From can not be empty" }
          {
    "code": 30801,
    "message": "From can not be empty"
}

        
此代码块在浮窗中显示
在文档中心打开
icon
联系销售