SMTP API -
概覽
SUBMAIL 的 SMTP API
使用電子郵件協(xié)議的自定義指令。開發(fā)者通過在郵件頭中插入 x-submail-smtp-api
指令靈活地控制發(fā)送請求,如添加聯(lián)系人,使用文本變量或超鏈接變量來靈活地控制郵件內(nèi)容,甚至在 SMTP API 中使用模板。
要使用 SUBMAIL SMTP API
,開發(fā)者需要在郵件頭中插入 x-submail-smtp-api
指令,并將請求的參數(shù)編碼成 JSON 字符串。
一個簡單的請求看起來是這樣的:
代碼示例
{
"to":[
"leo@submail.cn",
"retro@submail.cn"
]
}
X-SUBMAIL-SMTP-API 郵件標(biāo)頭指令
x-submail-smtp-api
指令是一個標(biāo)準(zhǔn)的 JSON 格式,包含幾個部分的關(guān)聯(lián)數(shù)組。使用 SMTP 協(xié)議請求 SUBMAIL 發(fā)送的郵件中包含有效的 x-submail-smtp-api
指令時,SUBMAIL 將會對此指令進行解析并將其應(yīng)用到郵件事務(wù)。
to 指令
to
: 聯(lián)系人組數(shù),包含可選的顯示名稱。SUBMAIL 支持完整的RFC 822 電郵地址協(xié)議,請在提交請求前檢查郵件地址的有效性。
{
"to":[
"leo@submail.cn",
"account@submail.cn"
]
}
template 指令
template:
郵件模板指令。郵件模板指令允許開發(fā)者使用在 SUBMAIL MAIL 應(yīng)用中創(chuàng)建的郵件項目,要使用該項目發(fā)送,請在此指令中添加郵件項目標(biāo)示。請參見獲取項目 ID。
{
"template":"DKFzD4"
}
vars 指令
vars:
文本變量指令。使用 vars 文本變量靈活的控制郵件內(nèi)容。請參見文本變量。
{
"vars":{
"key1":"value",
"key2":"value",
"key3":"value"
}
}
links 指令
links:
超鏈接變量指令。使用 links 超鏈接變量靈活的控制郵件中的超鏈接。請參見超鏈接變量。
{
"links":{
"key1":"value",
"key2":"value",
"key3":"value"
}
}
代碼示例
完整功能的 x-submail-smtp-api JSON
字符串示例
{
"to":[
"leo@submail.cn",
],
"template":"DKFzD4",
"vars":{
"key1":"value",
"key2":"value",
"key3":"value"
},
"links":{
"key1":"value",
"key2":"value",
"key3":"value"
}
}
使用 perl
語言編寫的 x-submail-smtp-api
指令示例
#!/usr/local/bin/perl -w
use strict;
use JSON;
my $header = {
to => ['leo@submail.cn'],
template => 'DKFzD4',
vars => { 'key1' => 'value', 'key2' => 'value', 'key3' => 'value' },
links => { 'key1' => 'value', 'key2' => 'value', 'key3' => 'value' }
};
my $json = JSON->new;
$json->space_before(1);
$json->space_after(1);
my $js = $json->encode($header);
$js =~ s/(.{1,72})(\s)/$1\n /g;
my $headers = "X-SUBMAIL-SMTP-API: $js";
print "$headers\n";
錯誤代碼
x-submail-smtp-api
無返回碼,它通常返回 SMTP
錯誤代碼。通常在測試 x-submail-smtp-api
時,開發(fā)者可前往 API 錯誤日志 中查看 x-submail-smtp-api
返回的錯誤代碼。