//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",
"isUnsubscribe":1
}
参数 | 说明 | 类型 |
---|---|---|
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 | 发信地址未在ITNIO平台配置 |
-11 | 模板不存在 |
-12 | 模板状态不正确 |
-13 | 收件人地址不能为空 |
-14 | 收件人地址最多五十个 |
-15 | 无有效收件人地址 |
-17 | 邮件主题不能为空且字符限制一百以内 |
-18 | 变量参数无法识别 |
-19 | 账户余额不足,请及时充值 |
-20 | 资费包额度不足,请及时购买 |
-21 | 没有可用套餐,暂不能发送邮件 |
-22 | 接口异常 |
-23 | 端口或者程序异常 |
-24 | 您的账号未验证,请验证! |
-25 | 模板ID只能为整数 |
-26 | 没有分配客户经理。请与客服人员联系 |
-27 | 广告标志参数无法识别 |
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 int isUnsubscribe = "{{isUnsubscribe}}";
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)
.set("checkEmailAddress", checkEmailAddress)
.set("isUnsubscribe", isUnsubscribe)
.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}}";
$isUnsubscribe = "{{isUnsubscribe}}";
$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&isUnsubscribe=$isUnsubscribe";
$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}}","isUnsubscribe": {{isUnsubscribe}}}'
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}}"
isUnsubscribe = "{{isUnsubscribe}}"
params = {"appId": app_id, "fromEmailAddress": fromEmailAddress, "toAddress": toAddress, "subject": subject, "templateID": templateID, "templateData": templateData, "language": language, "adFlag": adFlag, "checkEmailAddress": checkEmailAddress, "isUnsubscribe": isUnsubscribe}
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"
}