发送邮件

GET
POST
https://api.itniotech.com/email/sendEmail
您可以通过此API发送HTML或者TEXT邮件,适用于触发类邮件(验证码、交易类)。
请求参数
appId
String
必填
应用id(邮件-邮件应用)
fromEmailAddress
String
必填
在ITNIO TECH平台配置的发信地址,例如:noreply@mail.itniotech.com
toAddress
String
收件人地址,多个 email 地址可以用英文逗号分隔,最多50个地址。如果有更多收件人可以用批量发送接口。例如:noreply@mail.itniotech.com,noreply@smail.itniotech.com
subject
String
发送邮件,需要设置一个主题,可以是一次性的发送主题或者可重复使用的模板主题。至少需要设置一种主题,字数限制(1~100个字符)
templateID
String
必填
在ITNIO TECH平台配置的审核通过的模板ID
templateData
String
如果模板中存在变量参数,建议发送的时候传值key-value的: 示例: { "code":"1234" }
language
String
语言枚举,如:en、zh,不传使用默认模板;其他语言参见模板语言表
adFlag
Int
是否添加广告标识 0:不添加, 1:添加到subject前面,2:添加到subject后面
checkEmailAddress
boolean
是否开启邮箱地址有效性检测。true: 开启;false: 不开启;默认false。注:开启邮箱地址有效性检测将收取额外费用,单价为0.0008美元/个
请求示例
//GET请求示例发送 “hello world”主题邮件:
Request URL:
    https://api.itniotech.com/email/sendEmail?appId=fKFtblIy&fromEmailAddress=test@mailpush.itnio.cn&toAddress=1ce.12@qq.com,123@qq.com,1234@163.com&subject=helloworld&templateID=1&templateData=%7B%22code%22%3A%221234%22%7D&adFlag=0&language=en&checkEmailAddress=false
Request Method:
    GET
Request Headers:
    Content-Type: application/json;charset=UTF-8
    Sign: 05d7a50893e22a5c4bb3216ae3396c7c
    Timestamp: 1630468800
    Api-Key: bDqJFiq9


//POST请求示例发送 “hello world” 内容:
Request URL:
    https://api.itniotech.com/email/sendEmail
Request Method:
    POST
Request Headers:
    Content-Type: application/json;charset=UTF-8
    Sign: 05d7a50893e22a5c4bb3216ae3396c7c
    Timestamp: 1630468800
    Api-Key: bDqJFiq9
Request Body:
{
    "appId":"fKFtblIy",
    "fromEmailAddress":"test@mailpush.itnio.cn",
    "toAddress":"1ce.12@qq.com,123@qq.com,1234@163.com",
    "subject":"hello world"
    "templateID":"1",
    "templateData":'{"code":"1234"}',
    "adFlag":0,
    "language":"en",
    "checkEmailAddress":"false"
}
响应参数
参数 说明 类型
status 状态码,0成功,其他失败参见邮件状态码说明 String
reason 失败原因说明 String
success 发送成功的条数 String
fail 发送失败的条数 String
emailState 提交状态:失败、成功 String
remark 成功/失败描述 String
array 找到发送结果的json集合 JSONArray
emailId 提交邮件到平台emailId String
toAddress 提交收件人地址(邮箱地址) String

注:提交发送邮件成功后,系统会给每个提交成功的号码对应生成一个平台emailId,后续客户可以根据这个emailId来查询该邮件的发送结果。

响应状态码
status 状态说明
0 成功
-1 身份验证错误
-2 重复请求
-4 用户锁定
-6 时间戳过期
-8 限制IP访问
-9 发送地址不能为空
-10 模板ID无效或者不可用
-11 模板不存在
-12 模板状态不正确
-13 收件人地址不能为空
-14 收件人地址最多五十个
-15 无有效收件人地址
-17 邮件主题不能为空且字符限制一百以内
-18 变量参数无法识别
-19 账户余额不足,请及时充值
-20 资费包额度不足,请及时购买
-21 没有可用套餐,暂不能发送邮件
-22 接口异常
-23 端口或者程序异常
-24 您的账号未验证,请验证!
-25 模板ID只能为整数
-26 没有分配客户经理。请与客服人员联系
-27 无法识别logo参数

意见反馈

文档内容是否对您有帮助?

LANGUAGE

Java

PHP

Curl

Python

REQUEST

import cn.hutool.crypto.SecureUtil;
import cn.hutool.http.Header;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONUtil;

import java.time.LocalDateTime;
import java.time.ZoneId;

public void sendEmail(){
    final String baseUrl = "https://api.itniotech.com/email";
    final String apiKey = "your api key";
    final String apiPwd = "your api secret";
    final String appId = "{{appId}}";

    final String fromEmailAddress = "{{fromEmailAddress}}"; // The Mail address configured in the ITNIO
    final String toAddress = "{{toAddress}}";  //Recipient Address
    final String subject = "{{subject}}"; //Send Message Subject
    final String templateID = "{{templateID}}"; //Send Template ID
    final String templateData = "{{templateData}}"; //Template variable parameters
    final int adFlag = "{{adFlag}}"; //Whether to add the advertising logo
    final String language = "{{language}}"; //language
    final boolean checkEmailAddress = "{{checkEmailAddress}}"; //Enable email address validity check

    final String url = baseUrl.concat("/sendEmail");
    HttpRequest request = HttpRequest.post(url);

    // currentTime
    final String datetime = String.valueOf(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond());
    // generate md5 key
    final String sign = SecureUtil.md5(apiKey.concat(apiPwd).concat(datetime));
    request.header(Header.CONNECTION, "Keep-Alive")
            .header(Header.CONTENT_TYPE, "application/json;charset=UTF-8")
            .header("Sign", sign)  //Signature with encryption
            .header("Timestamp", datetime) //Current system time stamp (second)
            .header("Api-Key", apiKey); //API KEY(Home-Developer options)

    final String params = JSONUtil.createObj()
            .set("appId", appId)
            .set("fromEmailAddress", fromEmailAddress)
            .set("toAddress", toAddress)
            .set("subject", subject)
            .set("templateID", templateID)
            .set("templateData", templateData)
            .set("adFlag", adFlag)
            .set("language", language)
            .put("checkEmailAddress", checkEmailAddress)
            .toString();

    HttpResponse response = request.body(params).execute();
    if (response.isOk()) {
        String result = response.body();
        System.out.println(result);
    }
} 

REQUEST

header('content-type:text/html;charset=utf8');

$apiKey = "your api key";
$apiSecret = "your api secret";
$appId = "{{appId}}";
$timeStamp = time();
$sign = md5($apiKey . $apiSecret . $timeStamp);

$fromEmailAddress = urlencode("{{fromEmailAddress}}");
$toAddress = urlencode("{{toAddress}}");
$subject = urlencode("{{subject}}");
$templateID = "{{templateID}}";
$templateData = urlencode("{{templateData}}");
$adFlag = "{{adFlag}}";
$language = "{{language}}"; 
$checkEmailAddress = "{{checkEmailAddress}}";

$url = "https://api.itniotech.com/email/sendEmail?appId=$appId&fromEmailAddress=$fromEmailAddress&toAddress=$toAddress&subject=$subject&templateID=$templateID&templateData=$templateData&language=$language&adFlag=$adFlag&checkEmailAddress=$checkEmailAddress";

$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => $url,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_SSL_VERIFYPEER => 0,
    CURLOPT_SSL_VERIFYHOST => 0,
    CURLOPT_CUSTOMREQUEST => 'GET',
    CURLOPT_HTTPHEADER => array(
        "Content-Type: application/json;charset=UTF-8",
        "Sign: $sign",
        "Timestamp: $timeStamp",
        "Api-Key: $apiKey"
    ),
));

$response = curl_exec($curl);
curl_close($curl);
echo $response;

REQUEST

curl --location --request GET 'https://api.itniotech.com/email/sendEmail'
--header 'Content-Type: application/json;charset=UTF-8'
--header 'Sign: {sign}'
--header 'Timestamp: {datetime}'
--header 'Api-Key: {apiKey}'
--data-raw '{"appId": "{{appId}}","fromEmailAddress": "{{fromEmailAddress}}","toAddress": "{{toAddress}}","subject": "{{subject}}","templateID": "{{templateID}}","templateData":"{{templateData}}","language": "{{language}}","adFlag": {{adFlag}},"checkEmailAddress": "{{checkEmailAddress}}"}'

REQUEST

import hashlib
import time
import requests
import json

base_url = "https://api.itniotech.com/email/sendEmail"
api_key = "your api key"
api_pwd = "your api secret"
app_id = "{{appId}}"

timestamp = int(time.time())
s = "%s%s%s" % (api_key, api_pwd, str(timestamp))
sign = hashlib.md5(s.encode(encoding='UTF-8')).hexdigest()

headers = {
    'Content-Type': 'application/json;charset=utf-8',
    'Sign': sign,
    'Timestamp': str(timestamp),
    'Api-Key': api_key
}

fromEmailAddress = "{{fromEmailAddress}}"
toAddress = "{{toAddress}}"
subject = "{{subject}}"
templateID = "{{templateID}}"
templateData = "{{templateData}}"
adFlag = "{{adFlag}}"
language = "{{language}}"
checkEmailAddress = "{{checkEmailAddress}}"

params = {"appId": app_id, "fromEmailAddress": fromEmailAddress, "toAddress": toAddress, "subject": subject, "templateID": templateID, "templateData": templateData, "language": language, "adFlag": adFlag, "checkEmailAddress": checkEmailAddress}
print(params)

rsp = requests.get(base_url, params, headers=headers)

if rsp.status_code == 200:
    data = json.loads(rsp.text)
    print(data)

RESPONSEEXAMPLE

{
    "status": "0",
    "reason": null,
    "success": "Success",
    "fail": "Failure to check email address:0; duplicate email address:0;",
    "array": [
        {
            "emailId": "2208061540441000001",
            "toAddress": "1ce.12@qq.com"
        },
        {
            "emailId": "2208061540441000002",
            "toAddress": "123@qq.com"
        },
        {
            "emailId": "2208061540451000003",
            "toAddress": "1234@163.com"
        }
    ],
    "emailId": null,
    "toAddress": null,
    "emailState": "Success",
    "remark": "Total 3 sending address, successfully sent:3"
}