API概要
Java版サンプル
/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(); } }