启用 J2EE 应用程序以将邮件资源与 JavaMail API 配合使用。

您可以启用 Java™ Platform, Enterprise Edition (Java EE) 应用程序以将邮件资源与 JavaMail API 配合使用。

开始之前

通过使用 JavaMail API,代码段可以嵌入到任何 Java EE 应用程序组件(例如,Enterprise JavaBeans (EJB) 或 Servlet),从而使得应用程序可以发送消息并将邮件的副本保存到“已发送”文件夹。
下列是您要在 Java EE 应用程序中嵌入的代码样本:
javax.naming.InitialContext ctx = new javax.naming.InitialContext();

   javax.mail.Session mail_session = (javax.mail.Session) ctx.lookup("java:comp/env/mail/MailSession3");
   MimeMessage msg = new MimeMessage(mail_session);

   msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse("bob@coldmail.net"));

   msg.setFrom(new InternetAddress("alice@mail.eedge.com"));

   msg.setSubject("Important message from eEdge.com");

   msg.setText(msg_text);

   Transport.send(msg);

 
   Store store = mail_session.getStore();

   store.connect();

   Folder f = store.getFolder("Sent");

   if (!f.exists()) f.create(Folder.HOLDS_MESSAGES);

   f.appendMessages(new Message[] {msg});

 

关于此任务

Java EE 应用程序可以通过在 java:comp/env/mail 次上下文中查找对逻辑命名的邮件连接工厂的引用来使用 JavaMail API,而该次上下文是在应用程序部署描述符中声明的,并映射至特定于安装的邮件会话资源中。在其他 Java EE 资源的情况中,可完成此任务,以便消除应用程序对外部资源的硬代码引用的需要。

过程

  1. 通过 Java 命名和目录接口 (JNDI) 找到一个资源。 Java EE 规范将邮件会话实例作为一个资源或作为一个从中可获取邮件传输和存储连接的工厂。请勿对邮件会话进行硬编码(即,填充 Properties 对象,然后用它来创建 javax.mai.Session 对象)。相反,您必须遵循 Java EE 编程模型以通过系统设施配置资源,然后通过 JNDI 查询找到这些资源。

    在先前的样本代码中,行 javax.mail.Session mail_session = (javax.mail.Session) ctx.lookup("java:comp/env/mail/MailSession3"); 是一个关于不对邮件会话硬编码,并使用通过 JNDI 找到的资源名称的示例。您可以将查询名 mail/MailSession3 看作到实资源的间接引用。

  2. 组装应用程序时定义资源引用。 您必须在组件的部署描述符中定义邮件资源的资源引用,因为邮件会话在 JNDI 查询中引用。 通常,可以使用与应用程序服务器一起提供的组装工具。
    当您创建此引用时,确保引用名与代码中使用的名称匹配。例如,先前的代码在查询中使用 java:comp/env/mail/MailSession3。因此,该引用的名称必须是 mail/Session3,而资源类型必须是 javax.mail.Session。在配置后,部署描述符会包含邮件资源引用的下列条目:
    <resource-reference> 
       <description>description</description>  
       <res-ref-name>mail/MailSession3</res-ref-name>
       <res-type>javax.mail.Session</res-type>  
       <res-auth>Container</res-auth>
    </resource-reference>
  3. 配置邮件提供程序和会话。 样本代码引用邮件资源,部署描述符声明资源,但是资源本身还不存在。现在,您需要配置应用程序组件引用的邮件资源。注意,您配置的邮件会话必须具有其已定义的传输和邮件访问部分;需要前者是因为代码发送消息,后者是因为它还将副本保存到本地邮件存储。当您配置邮件会话时,需要指定 JNDI 名称。这是您在安装应用程序并链接到应用程序(具有配置的实资源)中的资源引用时需要的重要名称。
  4. 安装应用程序。 您可使用管理控制台或脚本编制工具安装应用程序。在安装期间,应用程序服务器会检查所有的资源引用,并要求您为每个资源引用提供一个 JNDI 名称。这不是任意的 JNDI 名称,而是为特殊的已配置资源(它是引用的目标)给定的 JNDI 名称。
  5. 管理现有邮件提供程序和会话。 您可更新和移除邮件提供程序和会话。

    要更新邮件提供程序和会话:

    1. 打开管理控制台。
    2. 在控制台导航树中,单击资源 > 邮件
    3. 通过单击邮件提供程序邮件会话,选择要修改的适当 Java 邮件资源。
    4. 选择要修改的特定资源。 要移除邮件提供程序或邮件会话,请选中相应资源旁边的复选框,然后单击删除
    5. 单击应用确定
    6. 保存配置。
  6. 可选: 调试邮件会话

下一步做什么

如果您的应用程序具有客户机,您可使用应用程序客户机资源配置工具 (ACRCT) 更新邮件提供程序和邮件会话。

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tmai_jovr
文件名:tmai_jovr.html