Durian

サンプル・メール配信タスク登録

メール配信タスク登録サンプル

メール配信BOXに新しくメール配信タスクを追加する例

package samples.mail;

import java.io.IOException;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Iterator;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import jp.co.symmetric.durian.mail.MailMessage;
import jp.co.symmetric.durian.mail.delivery.DeliveryBox;
import jp.co.symmetric.durian.mail.delivery.DeliveryEngine;
import jp.co.symmetric.durian.mail.delivery.DeliveryTask;
import jp.co.symmetric.durian.mail.delivery.Recipient;

/**
 * 配信ボックスIDが0000の配信ボックスに
 * タスク名:サンプル配信
 * 配信日時:2006/09/01 16:00
 * 宛先  :rcpt1@domain.example, rcpt2@domain.example
 * 本文  :これはサンプル配信です。
 * という配信タスクを作成し登録するサンプルです
 */
public class SampleServlet extends HttpServlet {

	protected void service(HttpServletRequest request, HttpServletResponse response) 
						throws ServletException, IOException {
		ServletContext context = getServletContext();
		// 配信エンジンの取得
		DeliveryEngine deliveryEngine = DeliveryEngine.getDeliveryEngine(context);
		
		
		// 配信BOXのリストを取得します
		// この例は事前にDurian管理ツールでIDが0000の配信BOXを作成してあることが前提です
		Iterator iterator = deliveryEngine.getDeliveryBoxes();
		DeliveryBox deliveryBox = null;

		while (iterator.hasNext()) {
			DeliveryBox box = (DeliveryBox) iterator.next();
			if (box.getId().equals("0000")) {
				deliveryBox = box;
				break;
			}
		}
		
		/*
		 * 以降配信タスクの作成処理です
		 */
		
		// 送信日時の作成(必須)
		Calendar sendCalendar = new GregorianCalendar(2006, Calendar.SEPTEMBER, 1, 16, 0, 0);
		
		// 本文の作成(必須)
		MailMessage body = new MailMessage();
		body.setBodyText("これはサンプル配信です。");
		
		// タスクの作成(必須)
		DeliveryTask deliveryTask = deliveryBox.createDeliveryTask(sendCalendar.getTime(), body);
		
		// タスクに名前を付ける(オプション)
		deliveryTask.setName("サンプル配信");
		
		// 宛先の追加(必須)
		String[] sampleRecipients = {"rcpt1@domain.example", "rcpt2@domain.example"};
		for (int i = 0; i < sampleRecipients.length; i++) {
			// 1件の宛先作成
			Recipient recipient = new Recipient(sampleRecipients[i]);
			
			// タスクに宛先を追加
			deliveryTask.addRecipients(recipient);
		}
		
		// 配信BOXにタスクの登録(必須)
		deliveryBox.addDeliveryTask(deliveryTask);
	}
}
Durian® is a registered trademark of Symmetric Co., Ltd.

© 2006- All Rights Reserved Symmetric Co., Ltd.