メール送信予約(一斉メール配信)

サンプルプログラム Java

        
            package jp.co.rakus;
            
            import java.io.BufferedReader;
            import java.io.File;
            import java.io.FileReader;
            import java.io.InputStreamReader;
            import java.io.OutputStreamWriter;
            import java.util.Hashtable;
            import java.util.Map;
            import java.net.URL;
            import javax.net.ssl.HttpsURLConnection;
            
            public class CurumeruAPI {
            
                public static void main(String args[]){
            
                    System.out.print(new CurumeruAPI().CreateNewMail());
                }
            
                /// 
                /// メール配信予約
                /// 
                /// 結果メッセージ(Response)
                public String CreateNewMail() {
            
                    String msg = "";
            
                    try {
            
                        /////////////////////////////
                        // POSTパラメータを用意
                        /////////////////////////////
                        Hashtable postParams = new Hashtable();
            
                        // 接続用パスワード
                        postParams.put("transport_password", "testpasswoed");
            
                        // 文字コード
                        postParams.put("charset", "1");
            
                        // Fromアドレス
                        postParams.put("from_address", "api-test@example.com");
            
                        // 差出人名
                        postParams.put("from_name", "テスト差出人");
            
                        // 件名
                        postParams.put("subject", "##__お名前__##さんへ (件名)");
            
                        // 本文
                        postParams.put("text_part", "テストメール(本文) ##__名前__##");
            
                        // 予約種別
                        postParams.put("schedule_type", "1");
            
                        // 配信リスト名
                        postParams.put("csvfile", "テスト配信リスト");
            
            
                        /////////////////////////////
                        // HTTPリクエストを用意
                        /////////////////////////////
                        URL urlobj = new URL("https://m.crmf.jp/XXXXXXXX/api/index.php?ac=CreateNewMail");
                        HttpsURLConnection http = (HttpsURLConnection) urlobj.openConnection();
                        http.setRequestMethod("POST");
                        http.setDoOutput(true);
            
                        // マルチパート送信の区切り(boundary)を設定
                        String boundary = "__boundary__xxx";
                        http.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);
            
            
                        /////////////////////////////
                        // 送信データを作成
                        /////////////////////////////
                        StringBuffer sb = new StringBuffer();
                        for (Map.Entry e : postParams.entrySet()) {
                            sb.append("--" + boundary + "\r\n");
                            sb.append("Content-Disposition: form-data; name=\"" + e.getKey() + "\"\r\n\r\n" + e.getValue() + "\r\n");
                        }
            
                        // 配信リストを設定
                        String filePath = "C:\\Tool\\test.csv";
                        String listName = new File(filePath).getName();
            
                        sb.append("--" + boundary + "\r\n");
                        sb.append("Content-Disposition: form-data; name=\"csvfile\"; filename=\"" + listName + "\"\r\n");
                        sb.append("Content-Type: application/octet-stream");
                        sb.append("\r\n");
                        sb.append("\r\n");
            
                        // 配信リストを読み込み、送信データへ追記
                        File file = new File(filePath);
                        BufferedReader br = new BufferedReader(new FileReader(file));
            
                        String str;
                        while((str = br.readLine()) != null){
                            sb.append(str + "\r\n");
                        }
                        br.close();
            
                        // フッターを書き込み
                        sb.append("--" + boundary + "\r\n");
            
            
                        /////////////////////////////
                        // POST送信
                        /////////////////////////////
                        OutputStreamWriter  os = new OutputStreamWriter(http.getOutputStream());
                        os.write(sb.toString());
                        os.flush();
                        os.close();
            
            
                        /////////////////////////////
                        // レスポンス取得
                        /////////////////////////////
                        InputStreamReader is = new InputStreamReader(http.getInputStream());
                        BufferedReader res = new BufferedReader(is);
            
                        String line;
                        while ((line = res.readLine()) != null)
                        {
                            msg += line + "\r\n";
                        }
            
                        res.close();
                        is.close();
            
                    } catch (Exception e) {
                        return e.getMessage();
                    }
            
                    return msg;
                }
            
            }
           
            
            

クルメル関連サイト情報

  • 配配メール
  • メルラボ
  • メールディーラー
  • 楽楽販売
  • Pマーク