首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

OFBiz的邮件发送兑现,仅用javax.mail.包非spring,适合所有情况

2012-10-28 
OFBiz的邮件发送实现,仅用javax.mail.*包非spring,适合所有情况发送email可以用spring的jar包来发送,如果

OFBiz的邮件发送实现,仅用javax.mail.*包非spring,适合所有情况

发送email可以用spring的jar包来发送,如果要在ofbiz中引用的话就等于又多了一个框架,所以不用它,只用javax.mail.*;和freemarker模板jar包。如果不发html格式,那么代码将只依赖javax的mail包适合所有情况。

?核心代码:

Properties _props  = System.getProperties();_props.put("mail.smtp.host", "localhost");//放置邮件服务器地址      Session session = Session.getDefaultInstance(_props, null);         MimeMessage message = new MimeMessage(session);//多用途网际邮件扩充协议的邮件信息对象      message.setFrom(new InternetAddress(sender));//发送者信息               InternetAddress[] ia = new InternetAddress[1];               ia[1] = "test@test.com";     message.addRecipients(Message.RecipientType.TO, ia);//接收者地址               InternetAddress[] ia1 = new InternetAddress[1];               ia1[1] = "bbc@bbc.com";     message.addRecipients(Message.RecipientType.BCC, ia1);//密文抄送地址     message.setSubject("hello");//主题          Multipart multipart = new MimeMultipart();//邮件内容复合主体          MimeBodyPart messageBodyPart = new MimeBodyPart();//邮件内容单体     messageBodyPart.setContent(body,"text/plain");//邮件内容,是文本的,还是text/html页面格式的          multipart.addBodyPart(messageBodyPart);//单体内容加入到复合主体中     message.setContent(multipart);//邮件加入内容信息     Transport.send(message);//发送邮件
?

?

?

?

其中邮件内容body为已经和freemarker模板结合过的字符串内容:

结合代码:

?

?

Public static String getBody(Map<String, String> map, String tmpName) {StringWriter result = new StringWriter();//输出流         String path = UtilProperties.getConfigureMessage("email.template.path");//freemarker模板地址        if (tmpName == null) {            path +="test";//默认模板        } else {            path += tmpName;        }        try {            Template template = FreeMarkerWorker.getTemplate(path);//取模板            template.process(map, result);//将所给的map中K,Value值与模板中的值相匹配,将结果放入输出流            //注意,map中的键值对一定要和模板中的值相匹配        } catch (TemplateException e1) {            Debug.logError(e1.getMessage().toString(), module);        } catch (IOException e1) {            Debug.logError(e1.getMessage().toString(), module);        }        String body = result.toString();        return body;}
?

?

?

?

热点排行