EBS中使用JAVA方式发送HTML格式邮件
一、开发工具:JDeveloper
需要添加的Library:activation.jar和javax.mail.jar(自行下载)
二、注意事项:
1、设置项目的编码格式为UTF-8
2、使用Rebuiled或者run生成.class文件
3、将.class文件上传到服务器中的$JAVA_TOP目录相应的文件夹下
三、开发思想:
1、发送HTML的公共主程序可以参考java的发送html邮件的程序;
2、在邮件中显示出html的样式效果是根据EBS中HTML报表的代码样式转换而来
四、实现程序:
1、主程序SendHtmlMail.java中的host、user、pwd、from这里是写死了,可以提取出来当参数传入更具有通用型
package cux.oracle.apps.pos.Util;
import java.io.FileOutputStream;
import java.io.UnsupportedEncodingException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Date;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import oracle.apps.fnd.cp.request.JavaConcurrentProgram;
/**
* 创建 HTML 格式的邮件
*
* @author Jason Gu
*/
public class SendHtmlMail
{
public String sendMessage(String host, String user, String pwd, String from,
String to, String subject,
String body) throws MessagingException,
java.io.UnsupportedEncodingException
{
Properties props = new Properties();
// 设置发送邮件的邮件服务器的属性
props.put("mail.smtp.host", host);
// 需要经过授权,也就是用户名和密码的校验,这样才能通过验证(一定要有这一条)
props.put("mail.smtp.auth", "true");
// 创建该邮件应用程序所需的环境信息以及会话信息
Session session = Session.getDefaultInstance(props);
// 有了这句便可以在发送邮件的过程中在console处显示过程信息,供调试使
// 用(你可以在控制台(console)上看到发送邮件的过程)
session.setDebug(true);
// 根据上面的 Session 实例创建 MimeMessage 实例,即一封邮件
MimeMessage msg = new MimeMessage(session);
try
{
// 设置发件人地址
msg.setFrom(new InternetAddress(from));
// 设置收件人地址
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
// 设置 E-mail 主题
msg.setSubject(subject);
// 设置发送时间
msg.setSentDate(new Date());
//