//发送邮件
public void sendMail(MimeMessage message) throws Exception {
sender.send(message);
}
//构建邮件对象
public MimeMessage buildMimeMessage(ClaaPartner p,OsmOrder ord,File file) {
//消息构造器
MimeMessage message = sender.createMimeMessage();
MimeMessageHelper helper;
try {
helper = new MimeMessageHelper(message,true,"utf-8");
//发件人
helper.setFrom("claaiot@sina.com");
String senderMail = ord.getSenderMail();
String receiverMail = ord.getReceiverMail();
boolean isSenderOk = (senderMail != null && !senderMail.trim().equals(""));
boolean isReceiverOk = (receiverMail != null && !receiverMail.trim().equals(""));
List<String> mailTargetList = new ArrayList<String>(0);
if(isSenderOk){
mailTargetList.add(senderMail.trim());
}
if(isReceiverOk){
String[] receiverAddrs = receiverMail.trim().split(",");
for(String receiver : receiverAddrs){
if(receiver == null || receiver.trim().equals("")){
continue;
}
mailTargetList.add(receiver.trim());
}
}
if(mailTargetList.size() == 0){
return null;
}
helper.setTo(mailTargetList.toArray(new String[mailTargetList.size()]));
//主题
StringBuffer sbu = new StringBuffer();
sbu.append("发货清单:");
sbu.append(p.getPartnerName()).append("[编号").append(p.getClaano()).append("]-");
sbu.append(ord.getOrdName()).append("发货单[").append(ord.getOrdNo()).append("],请查收!");
String sbei = new String(sbu);
helper.setSubject(sbei);
//正文
StringBuffer sb = new StringBuffer();
sb.append("企业名称:"+p.getPartnerName()+";\r\n");
sb.append("联盟编号:"+p.getClaano()+";\r\n");
sb.append("发货单编号:"+ord.getOrdNo()+";\r\n");
sb.append("发货单名称:"+ord.getOrdName()+";\r\n");
SimpleDateFormat datetimeFormat = new SimpleDateFormat("yyyy-MM-dd");
if(ord.getOrdDate() != null){
sb.append("发货单日期:"+datetimeFormat.format(ord.getOrdDate())+";\r\n");
}
if(ord.getSenderTime() != null){
sb.append("预计发货日期:"+datetimeFormat.format(ord.getSenderTime())+";\r\n");
}
if(ord.getSrcAddr() != null){
sb.append("发货地:"+ord.getSrcAddr()+";\r\n");
}
if(ord.getDstAddr() != null){
sb.append("目的地:"+ord.getDstAddr()+";\r\n");
}
/*if(ord.getDevType() != null){
sb.append("设备型号:"+ord.getDevType()+";\r\n");
}
if(ord.getDevTypeName() != null){
sb.append("物料名称:"+ord.getDevType()+";\r\n");
}
if(Integer.valueOf(ord.getDevNum()) != null){
sb.append("设备数量:"+ord.getDevNum()+";\r\n");
}*/
if(ord.getSender() != null){
sb.append("发货人:"+ord.getSender()+";\r\n");
}
if(ord.getSenderCompany() != null){
sb.append("发货人单位:"+ord.getSenderCompany()+";\r\n");
}
if(ord.getSenderPhone() != null){
sb.append("发货人电话:"+ord.getSenderPhone()+";\r\n");
}
if(ord.getSenderMail() != null){
sb.append("发货人邮箱:"+ord.getSenderMail()+";\r\n");
}
if(ord.getReceiver() != null){
sb.append("接货人:"+ord.getReceiver()+";\r\n");
}
if(ord.getReceiverPhone() != null){
sb.append("接货人电话:"+ord.getReceiverPhone()+";\r\n");
}
if(ord.getReceiverMail() != null){
sb.append("接货人邮箱:"+ord.getReceiverMail()+";\r\n");
}
if(ord.getContractNo() != null){
sb.append("关联合同号:"+ord.getContractNo()+";\r\n");
}
if(ord.getExpressNo() != null){
sb.append("快递单号:"+ord.getExpressNo()+";\r\n");
}
if(ord.getRemark() != null){
sb.append("备注:"+ord.getRemark()+";\r\n");
}
String str = new String(sb);
helper.setText(str);
//helper.setText("发货单编号:"+ord.getOrdNo()+";\r\n"+"发货单名称:"+ord.getOrdName()+";\r\n"+"发货单日期:"+ord.getOrdDate());
//加入附件
helper.addAttachment("设备发货清单.zip", file);
} catch (MessagingException e) {
logger.error("buildMimeMessage failed:"+ord, e);
return null;
}
return message;
}