发表于: 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的使用。



返回列表 返回列表
评论

    分享到