`
suhuanzheng7784877
  • 浏览: 702581 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47708
社区版块
存档分类
最新评论

JavaEE5学习笔记04-JavaMail使用总结---4-jboss使用javamail

阅读更多

1.      JBoss容器配合使用

如果您是用商业化的服务器集成JavaMail,则可以通过JNDI的方式直接获取应用容器中给您提供的邮件会话Session

比如在JBoss中的${JBOSS_HOME}\server\default\deploy\mail-service.xml的内容配置如下:

<?xml version="1.0" encoding="UTF-8"?>

<server>

   <mbean code="org.jboss.mail.MailService"

         name="jboss:service=Mail">

    <attribute name="JNDIName">java:/Mail</attribute>

    <attribute name="User">suhuanzheng7784877</attribute>

    <attribute name="Password">111111</attribute>

    <attribute name="Configuration">

      <!-- A test configuration -->

      <configuration>

             <property name="mail.smtp.auth" value="true"/>

        <!-- Change to your mail server prototocol -->

        <property name="mail.store.protocol" value="pop3"/>

        <property name="mail.transport.protocol" value="smtp"/>

        <!-- Change to the user who will receive mail  -->

        <property name="mail.user" value="suhuanzheng7784877"/>

        <!-- Change to the mail server  -->

        <property name="mail.pop3.host" value="pop3.163.com"/>

        <!-- Change to the SMTP gateway server -->

        <property name="mail.smtp.host" value="smtp.163.com"/>

        <!-- The mail server port -->

        <property name="mail.smtp.port" value="25"/>

        <!-- Change to the address mail will be from  -->

        <property name="mail.from" value="suhuanzheng7784877@163.com"/>

        <!-- Enable debugging output from the javamail classes -->

        <property name="mail.debug" value="false"/>

      </configuration>

    </attribute>

    <depends>jboss:service=Naming</depends>

  </mbean>

</server>

以上是JBoss的邮件配置,那么在容器中调用mail时候,就可以省去了这些配置。其实不借助JBoss服务器的话,自己维护一个配置文件,将一些登录、验证信息填写进去也是可以的。

有了JBoss的代码如下:

mail.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>邮件</title>

</head>

<body>

<form id="form1" name="" method="post" action="mail.jsp">

  <table width="372" height="302" border="1" cellpadding="1" cellspacing="1" bordercolor="#000000">

    <tr>

      <td colspan="2">【发送简单邮件】</td>

    </tr>

    <tr>

      <td width="118" height="25"><div align="center">收件人:</div></td>

      <td width="241" height="25"><div align="left">

        <label>

        <input name="recever" type="text" id="recever" />

        </label>

      </div></td>

    </tr>

    <tr>

      <td height="25"><div align="center">标题:</div></td>

      <td height="25"><div align="left">

        <label>

        <input name="title" type="text" id="title" />

        </label>

      </div></td>

    </tr>

    <tr>

      <td height="202"><div align="center">内容:</div></td>

      <td height="202"><div align="left">

        <label>

        <textarea name="mess" rows="15" id="mess"></textarea>

        </label>

      </div></td>

    </tr>

    <tr>

      <td colspan="2"><label>

        <input type="submit" name="Submit" value="提交" />

      </label></td>

    </tr>

  </table>

</form>

</body>

</html>

mail.jsp

<%@ page language="java"

    import="java.util.*,javax.swing.*,javax.naming.*,javax.mail.*,javax.mail.internet.*"

    pageEncoding="utf-8"%>

<%

    String JNDI = "java:/Mail";

    String PROTOCOL = "smtp";

    String MAIL_Server = "smtp.163.com";

    int PORT = 25;

    Context ctx = new InitialContext();

    Session mailSession = (Session) ctx.lookup(JNDI);

    Transport transport = mailSession.getTransport(PROTOCOL);

 

    transport.connect(MAIL_Server, PORT, "suhuanzheng7784877","1111");

 

    request.setCharacterEncoding("GBK");

 

    String recever = request.getParameter("recever");

 

    String title = request.getParameter("title");

 

    String mess = request.getParameter("mess");

 

    MimeMessage msg = new MimeMessage(mailSession);

 

    msg.setFrom(new InternetAddress(suhuanzheng7784877@163.com));

 

    // 设置收件人

    // 收件人可以是多个,所以是数组

    InternetAddress[] internetAddressTo = { new InternetAddress(recever) };

 

    // 目标的发送类型【直接发、抄送、暗送】

    msg.setRecipients(Message.RecipientType.TO, internetAddressTo);

 

    msg.setSubject(title);

 

    Multipart mp = new MimeMultipart();

 

    // 构造正文

    MimeBodyPart mbpContent = new MimeBodyPart();

    mbpContent.setText(mess);

 

    mp.addBodyPart(mbpContent);

 

    msg.setContent(mp);

 

    msg.setSentDate(new Date());

 

    transport.send(msg, msg.getAllRecipients());

    out.print("<h3>邮件发送成功</h3>");

是一个html提交表单到一个jsp中,jsp是处理发送邮件。通过JNDI获取Session,之后的处理和单独在客户端处理邮件一样。

分享到:
评论

相关推荐

    JavaEE5学习笔记04-JavaMail使用总结

    ### JavaEE5学习笔记04-JavaMail使用总结 在JavaEE5的学习过程中,JavaMail是一个非常重要的组件,它提供了发送、接收电子邮件的功能,并且能够与各种不同的邮件服务器进行交互。下面将根据提供的内容,详细解析...

    JavaEE5学习笔记01-JTA和数据库事务

    ### JavaEE5学习笔记01-JTA和数据库事务:深入解析与应用 #### 一、JavaEE5概览与核心组件 JavaEE5是Java Enterprise Edition的第五个版本,标志着企业级Java应用的一个重要里程碑。它引入了一系列重要的新特性,...

    JAVAEE架构设计与开发实践(配套代码)

    在《JAVAEE架构设计与开发实践》这本书中,作者深入探讨了如何构建高效、可扩展且易于维护的企业级Java应用程序。书中的代码涵盖了从第一章到第八章的关键概念和技术,包括了SSH(Struts、Spring、Hibernate)框架的...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    首先,本书在第一部分中,介绍了Java EE开发的基础知识和开发环境的搭建方法,包括对JBoss和WebLogic两大主流应用服务器的安装和使用说明,以及NetBeans IDE和SVN等开发工具的使用指导。这部分内容对于新手读者来说...

    邮件开发:javaee.jar mail.jar开发包与javaEE5.0冲突

    4. **使用模块化系统**:对于Java 9及以上版本,可以利用模块系统(Jigsaw)来管理模块间的依赖关系,避免类路径冲突。 5. **代码调整**:如果冲突依然存在,可能需要检查代码中是否直接引用了Java EE 5.0中不完全...

    JBoss+Ejb

    4. **部署**:将包含EJB的jar文件部署到JBoss服务器上,这通常通过管理控制台或者命令行工具完成。 5. **调用**:远程或本地客户端通过JNDI(Java Naming and Directory Interface)查找并调用EJB服务。 在给定的...

    JAVA技术体系.pdf

    4. **JavaEE中级软件工程师**: - **经典架构**:如SSH(Struts + Spring + Hibernate)、SSI(Struts + Spring + iBATIS)等,用于构建企业级应用。 - **Struts1&2**:表现层框架,用于处理HTTP请求和视图呈现。 ...

    jsp快速入门教程

    ### JSP 快速入门教程知识点详解 ...通过以上内容,我们了解了JSP的基本概念、特点以及如何搭建和配置JSP运行环境,并学习了如何创建简单的JSP页面和使用表单收集用户数据。这对于初学者来说是一个很好的起点。

    JSP快速入门教程

    其他可选服务器包括IBM WebSphere、BEA WebLogic、JBoss(免费)和GlassFish(支持JavaEE5标准)。 2. **开发环境**:页面开发工具如DreamWeaver,代码编辑器如Eclipse、NetBeans、JBuilder等。初学者可能选择使用...

    25个好习惯帮你快速成为JAVA高手

    6. **Java数据库技术与ORM框架**:学习如何使用Java进行数据库操作,掌握至少一种持久化/ORM框架,如Hibernate,JDO,CocoBase,TopLink,iBatis等,同时理解对象关系映射的阻抗失配问题。 7. **Web开发技术**:...

    成为Java高手需要注意的25个学习目标

    9. **XML处理**:学习XML API,如JAXP,JDOM,DOM4J,JAXR,并了解如何使用它们处理XML文档。 10. **Web服务**:掌握构建Web服务的Java技术,如JAX-RPC,SAAJ,JAXB,JAXM,JAXR,JWSDP。 11. **轻量级框架**:...

    java web方向学习曲线图

    此外,还将掌握Web服务器的使用,如Tomcat、Jetty、Resin和JBoss。 对于Java高级软件工程师,他们需要了解并掌握JavaWeb的开源技术和框架,如工作流引擎、规则引擎、搜索引擎、缓存技术、任务调度、身份认证、报表...

    JAVA技术路线图.docx

    作为JavaEE系统架构师,需要关注面向云架构(COA)、面向资源架构(ROA)和面向Web服务架构(SOA),熟悉相关的概念和技术,如SaaS、网格计算、分布式计算、SOA、SCA、ESB、OSGI和EAI,以及各种应用服务器的使用,如...

    JAVA程序员您需要学习的25个标准

    5. **数据库技术**:精通至少一种持久化/ORM框架(如Hibernate、JDO、Cocobase、TopLink、iBatis),理解对象关系映射(ORM)的概念,熟悉各种数据库产品,如Oracle、MySQL、SQL Server等。 6. **Web开发**:熟悉...

    JAVA技术路线图.pdf

    高级软件工程师不仅需要深入理解开源技术与框架,如工作流引擎、规则引擎、缓存引擎等,还需要掌握JavaWeb的分布式开发技术,如JTA、JAAS、JNDI、JavaMail、JMS、WebService、JCA等,以及应用服务器的使用。...

    Java技术体系图.docx

    还包括Java事务管理(JTA)、验证和授权服务(JAAS)、命名和目录服务(JNDI)、邮件服务(JavaMail)、信息服务(JMS)、应用服务器(如JBoss、WebLogic、WebSphere)等。 Java技术体系的深度和广度使得它在各种...

    Java发展前景与职业方向解析.docx

    1. **企业级应用开发**:JavaEE(Java Platform, Enterprise Edition)框架是开发企业级Web应用的核心技术,广泛应用于大型企业的后台系统。它包含了各种组件和服务,如Servlet、JSP、EJB等,能够构建高效、可扩展的...

    java的各种技术.pdf

    Java是一种广泛使用的编程语言,尤其在企业级应用中占据重要地位。本文主要涵盖了Java的各种技术领域,包括基础技术、数据库技术、JavaWeb技术以及分布式企业级技术。 **基础技术** 1. **Java基础**:Java语言的...

Global site tag (gtag.js) - Google Analytics