发表于: 2018-01-16 21:25:38
1 527
今日完成
1.整理代码,提交任务六。
2.看第三方的API。
(1)邮箱sendcloud
先试了一下SDK,感觉比较臃肿。
(2)继续读API,先注册,生成KEYS等操作。
(3)新建一个适合的模版。这里可以使用占位符,然后在变量中使用即可。
(4)看来一下官网的例子。大概就是把个属性字段添加在请求中。
(5)拼接属性的json字符串。
JSONObject ret = new JSONObject();
JSONArray to = new JSONArray();
to.put("452604407@qq.com");
JSONArray name = new JSONArray();
name.put("lujing");
JSONArray code = new JSONArray();
code.put(8888888);
JSONObject sub = new JSONObject();
sub.put("%name%", name);
sub.put("%code%", code);
ret.put("sub", sub);
ret.put("to", to);
大概得到的是这样的。
和例子里面的串是一样的。然后就可以使用给的示范代码了。
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost(url);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("apiUser", apiUser));
params.add(new BasicNameValuePair("apiKey", apiKey));
params.add(new BasicNameValuePair("xsmtpapi", xsmtpapi));
// params.add(new BasicNameValuePair("substitution_vars", xsmtpapi));
params.add(new BasicNameValuePair("templateInvokeName", "test_template_code"));
params.add(new BasicNameValuePair("from", "sendcloud@sendcloud.org"));
params.add(new BasicNameValuePair("fromName", "Captain Teemor"));
params.add(new BasicNameValuePair("subject", subject));
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
HttpResponse response = httpClient.execute(httpPost);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
// 正常返回
System.out.println(EntityUtils.toString(response.getEntity()));
} else {
System.err.println("error");
}
httpPost.releaseConnection();
}
(6)关键的属性还是xsmtpapi。这个里面有占位符的变量值和收件人。使用了sub 和 to两个关键字。然后看一下官方的解释。
可以明白里面是存放一下信息的。
(7)测试一下。收到了邮件。
遇到问题
无
明日计划
1.短信api接口的测试。
2.图片云的api测试。
收获
1.学会了第三方邮件API的使用。
评论