SUBMAIL 的 SMTP API 利用电子邮件协议的自定义指令。开拓者通过在邮件头中插入 x-submail-smtp-api 指令灵巧地掌握发送要求,如添加联系人、将地址簿添加至发送行列步队,或利用文本变量或超链接变量来灵巧地掌握邮件内容,乃至在SMTP API 中利用模板。
要利用 SUBMAIL SMTP API,开拓者须要在邮件头中插入 x-submail-smtp-api 指令,并将要求的参数编码成 JSON 字符串。
一个大略的要求看起来是这样的:

代码示例
{ "to":[ "leo <leo>", "retro@submail.cn" ], "addressbook":[ "subscribe", "WbRfn3" ]}
x-submail-smtp-api 指令是一个标准的 JSON 格式,包含几个部分的关联数组。利用 SMTP 协议要求 SUBMAIL 发送的邮件中包含有效的 x-submail-smtp-api 指令时,SUBMAIL 将会对此指令进行解析并将其运用到邮件事务。
to 指令
to : 联系人组数,包含可选的显示名称。SUBMAIL 支持完全的RFC 822 电邮地址协议,请在提交要求前检讨邮件地址的有效性。
{ "to":[ "leo <leo>", "retro <retro>", "<service>", "account@submail.cn" ]}
addressbook:地址簿指令。利用地址簿指令将地址簿中的联系人添加到发送行列步队,你可以在 addressbook 指令中加入 subscribe 来添加订阅用户,或利用地址簿标示。请拜会获取项目或地址簿的开拓者标识。
{ "addressbook":[ "subscribe", "j5lVv1" ]}
template:邮件模板指令。邮件模板指令许可开拓者利用在 SUBMAIL MAIL 运用中创建的邮件项目,要利用该项目发送,请在此指令中添加邮件项目标示。请拜会获取项目或地址簿的开拓者标识。
{ "template":"DKFzD4"}
vars:文本变量指令。利用 vars 文本变量灵巧的掌握邮件内容。请拜会文本变量。
{ "vars":{ "key1":"value", "key2":"value", "key3":"value" }}
links:超链接变量指令。利用 links 超链接变量灵巧的掌握邮件中的超链接。请拜会超链接变量。
{ "links":{ "key1":"value", "key2":"value", "key3":"value" }}
完全功能的 x-submail-smtp-api JSON 字符串示例
{ "to":[ "leo <leo>", ], "addressbook":[ "subscribe", "WbRfn3" ], "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 -wuse strict;use JSON;my $header = { to => ['leo '], addressbook => ['subscribe','WbRfn3'], 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 时,开拓者可前往 API 缺点日志 中查看 x-submail-smtp-api 返回的缺点代码。
参阅 API 缺点代码客户约请链接https://www.mysubmail.com/chs/account/login#/signup/wIA5r1注册账号就可得到免费额度测试利用