我们利用JavaMail进行开发时,总是需要开发者手动获取邮件会话(javax.mail.Session)对象,因此显得有些繁琐。而Weblogic则可以采用配置方式来管理邮件会话,以后开发者只要通过JNDI查找即可获得邮件会话对象。下面简单介绍一下WebLogic中JavaMail的配置过程:
1.找到域结构下的服务节点,单击邮件会话,进入邮件会话的配置界面。
2.进入邮件的配置界面后,单击新建,进入邮件会话设置界面。
3.进入邮件设置界面后,输入名称和相应的JavaMail属性,然后单击下一步。
4.设置邮件会话目标,单击完成。
5.此时我们可以再邮件会话列表中查看我们新配置的邮件会话。
下面写一个简单的程序验证Weblogic的邮件会话是否可用。首先写一个邮件发送的界面,具体代码如下:
<h2>send an E-mail</h2>
<form method="post" action="send.jsp">
to:<input type="text" name="to" /><br /> subject:<input type="text"
name="subject" /><br /> content:
<textarea name="content" rows="5" cols="50"></textarea>
<br /> <input type="submit" value="send" />
</form>
下面是邮件处理的JSP程序,运行时请将对应的账号密码换成自己的:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="javax.mail.*"%>
<%@ page import="javax.mail.internet.*"%>
<%@ page import="javax.naming.*"%>
<%
String JNDI_MAIL = "mail";
String SEND_PROTOCOL = "smtp";
String MAIL_SERVER = "smtp.126.com";
int MAIL_PORT = 25;
//通过JNDI获取邮件会话对象
Context ctx = new InitialContext();
Session ses = (Session) ctx.lookup(JNDI_MAIL);
//获取SMTP对应的transport对象
Transport transport = ses.getTransport(SEND_PROTOCOL);
//连接邮件服务器
transport.connect(MAIL_SERVER, MAIL_PORT, "******@126.com",
"******");
request.setCharacterEncoding("UTF-8");
//设置邮件的收件人、主题、内容等信息
String to = request.getParameter("to");
String subject = request.getParameter("subject");
String content = request.getParameter("content");
MimeMessage msg = new MimeMessage(ses);
msg.setFrom(new InternetAddress("******@126.com"));
InternetAddress[] addresses = { new InternetAddress(to) };
msg.setRecipients(Message.RecipientType.TO, addresses);
msg.setSubject(subject);
Multipart mp = new MimeMultipart();
MimeBodyPart mbpContent = new MimeBodyPart();
mbpContent.setText(content);
mp.addBodyPart(mbpContent);
msg.setContent(mp);
msg.setSentDate(new java.util.Date());
//发送邮件
transport.sendMessage(msg, msg.getAllRecipients());
out.println("<h3>send mail successfully!!");
%>
程序的运行结果如下:
该贴被xiuwen.zhao编辑于2014-8-27 11:20:40该贴由hui.chen转至本版2014-11-11 15:06:53
该贴由hui.chen转至本版2014-11-11 15:08:03