SERVICE
各言語でのサンプルコード Java
スリーメール
Java版サンプル
/API/setを使用してメール配信の設定を行うサンプルです。
/API/setを使用してメール配信の設定を行うサンプルです。
接続先ホスト名(example.com)および、接続時のIDとパスワード(login_id, password)につきましては適宜ご変更ください。
/**
* 3mail API接続サンプルプログラム
* 要 Jakarta Commons HttpClient4 (http://hc.apache.org/)
*
* @author 3hands dev Team
* @copyright 3hands Inc.
*/
package mail_sample_java;
import java.io.*;
import java.nio.charset.Charset;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.HttpMultipartMode;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.entity.mime.content.FileBody;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.InputSource;
/**
* メインクラス
*
* @author 3hands dev Team
*/
public class Main {
/**
* コンストラクタ
*
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception {
new SendData().send();
}
}
/**
* APIへ接続及びデータ送信
*
* @author 3hands dev Team
*/
class SendData {
/**
* データ送信
*
* @throws Exception
*/
public void send() throws Exception {
//3mail APIへ接続
final HttpClient client = new DefaultHttpClient();
final HttpPost post = new HttpPost("http://example.com/API/set");
final MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
//送信文字コードを設定
Charset charSet = Charset.forName("shift_jis");
//送信データを設定
entity.addPart("login_id", new StringBody("login_id"));
entity.addPart("password", new StringBody("login_password"));
entity.addPart("subject", new StringBody("メールタイトル", charSet));
entity.addPart("body", new StringBody("メール本文", charSet));
entity.addPart("from_address", new StringBody("from@example.com"));
entity.addPart("start_sending", new StringBody("now"));
//メールアドレスリストファイル登録
FileBody file = new FileBody(new File("D:\\mail.zip"), "application/zip");
entity.addPart("file", file);
//データセット
post.setEntity(entity);
//データ送信し結果(XML形式)を取得
HttpResponse response = client.execute(post);
//XMLをパース
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(new InputSource(new StringReader(EntityUtils.toString(response.getEntity()))));
//結果を出力
Element root = doc.getDocumentElement();
String[] resultList = {"status", "code", "message", "valid", "error", "task_id"};
for (String res : resultList){
NodeList list = root.getElementsByTagName(res);
Element element = (Element)list.item(0);
System.out.println(res + "->" + new String(element.getFirstChild().getNodeValue().getBytes("SJIS"), "UTF-8"));
}
//コネクションを閉じる
client.getConnectionManager().shutdown();
}
}