?? crm_sendmailinfo.java
字號:
package com.ahbay.mailMgr;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import com.saas.biz.dao.custDAO.CustomerExt;
import com.saas.biz.dao.userdetailDAO.UserdetailExt;
import com.saas.sys.buffer.Buffers;
import com.saas.sys.dbm.Dbtable;
import com.saas.sys.exp.SaasApplicationException;
import com.saas.sys.log.Logger;
/**
* 郵件群發
* @com.ahbay.mailMgr
*
* @author LiuYang
*
* @2007-6-12
*/
public class CRM_SendMailInfo {
Dbtable tradeQuery;
Logger log;
Buffers inBuffer;
Buffers outBuffer;
ArrayList queryResult = new ArrayList();
String currentDate="";//當前的系統時間;
public CRM_SendMailInfo()
{
log = new Logger(this);
tradeQuery = new Dbtable();
currentDate=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(new Date());
}
public void setTradeQuery(Dbtable tradeQuery)
{
this.tradeQuery = tradeQuery;
}
public Dbtable getTradeQuery()
{
return this.tradeQuery;
}
public void setOutBuffer(Buffers outBuffer)
{
this.outBuffer = outBuffer;
}
public Buffers getOutBuffer()
{
return this.outBuffer;
}
public ArrayList getQueryResult()
{
return this.queryResult;
}
public void setQueryResult(ArrayList queryResult)
{
this.queryResult = queryResult;
}
/**
*@郵件群發
*發送郵件給某個客戶下的所有用戶
*/
public void sendMessageToCustomerUsers(Buffers inbuffer)
{
this.outBuffer = inbuffer;
this.inBuffer = inbuffer;
log.LOG_INFO("進入sendMessageToCustomerUsers方法...");
//客戶名稱
String cust_Name = inbuffer.getString("CUST_NAME");
//郵件主題
String subject = inbuffer.getString("TITLE");
//郵件內容
String mailContent = inbuffer.getString("CONTENT");
//客戶ID
String cust_id = inbuffer.getString("CUST_ID");
//客戶郵件
String cust_Mail = inbuffer.getString("EMAIL");
try
{
if(cust_Mail !=null && !cust_Mail.trim().equals(""))
{
sendMessageToCustomerUsers(cust_id,cust_Name,subject,mailContent,cust_Mail);
}else{
log.LOG_INFO("所選擇客戶的郵件地址不存在,無法發送郵件...");
}
} catch (SaasApplicationException e)
{
log.LOG_INFO(e.getMessage());
}
log.LOG_INFO("退出sendMessageToCustomerUsers方法...");
}
public void sendMessageToCustomerUsers(String cust_id,String cust_Name,String subject,String mailConten,String custMail) throws SaasApplicationException
{
String user_mail = "";
ArrayList userDetail = new ArrayList();
UserdetailExt userDetailExt = new UserdetailExt();
userDetailExt.setParam(":VCUST_ID", cust_id);
String user_name = "";
try{
userDetail = userDetailExt.selByList("SEL_BY_USERDETAIL_CUST");
}catch(Exception ed){
log.LOG_INFO(ed.getMessage()+"Execute SQL 語句執行時出錯...");
}
try{
if(userDetail != null && userDetail.size() >0)
{
for(Iterator it = userDetail.iterator(); it.hasNext();)
{
HashMap map = new HashMap();
map = (HashMap) it.next();
user_name =map.get("user_id").toString();
log.LOG_INFO("hadfsfsdfsdfdsfdsf"+user_name);
if(map.get("email")!= null)
{
user_mail=map.get("email").toString();
sendEmail(custMail,user_mail,subject,mailConten);
log.LOG_INFO("開始List 循環行發郵件給......"+user_mail);
}
else
{
sendEmail(custMail,custMail,"系統退信...","你于 "+currentDate+"給"+user_name+"發送的郵件失敗!!!");
log.LOG_INFO("不能發郵件給......"+user_name);
}
}
}
}catch(Exception e){
log.LOG_INFO(e.getMessage()+"發送郵件時出錯...");
}
}
/**
* 發送郵件
*/
public void sendEmail(String fromAddr,String toAddr,String subject,String messageInfo){
try {
mail mailsend = new mail();
mailsend.setStrTo(toAddr);
mailsend.setStrFrom(fromAddr);
mailsend.setStrSubject(subject);
mailsend.setStrText(messageInfo);
mailsend.setStrUsername("liuy");
mailsend.setStrPassword("liuy");
mailsend.setStrSmtp("mail.saasdev.com");
mailsend.sendSimpleMail();
} catch (Exception m){
m.printStackTrace();
}
}
/**
*@郵件群發
*發送郵件給所有客戶
*/
public void sendMessageToAllCustomers(Buffers inbuffer)
{
this.outBuffer = inbuffer;
this.inBuffer = inbuffer;
log.LOG_INFO("進入sendMessageToAllCustomers方法...");
//郵件主題
String subject = inbuffer.getString("TITLE");
//郵件內容
String mailContent = inbuffer.getString("CONTENT");
try{
sendMessageToAllCustomers(subject,mailContent);
} catch (Exception e){
log.LOG_INFO(e.getMessage());
}
log.LOG_INFO("退出sendMessageToAllCustomers方法...");
}
public void sendMessageToAllCustomers(String subject,String mailContent)throws SaasApplicationException
{
String sysmail="liuy@saasdev.com";
String cust_mail = "";
String cust_name = "";
ArrayList customList = new ArrayList();
CustomerExt commodityExt = new CustomerExt();
customList = commodityExt.selByList("SEL_BY_CUST_ID");
try{
if(customList != null && customList.size() >0)
{
for(Iterator it = customList.iterator(); it.hasNext();)
{
HashMap map = (HashMap) it.next();
cust_name = map.get("cust_name").toString();
if(map.get("email")!= null)
{
cust_mail=map.get("email").toString();
sendEmail(sysmail,cust_mail,subject,mailContent);
}
else//當客戶的郵件地址不存在時,系統自動給發件人退信
{
sendEmail(sysmail,sysmail,"系統退信...","你于 "+currentDate+"給"+cust_name+"發送的郵件失敗!!!");
}
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -