网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > J2EE/J2ME
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.使用Timer和Canvas制作动画效果.
.一个2D图形绘画的案例.
.如何控制游戏中的FPS.
.JavaMail快速入门-4.
.J2EE 应用服务器技术.
.通过计时器做一个简单的活动画面.
.Eclipse入门?使用指南及开发Ecli.
.jboss配置系列第一天.
.利用HSQLDB 进行Hibernate单元测.
.使用MIDP底层用户接口API.
.使用NetBeans5.0建立JAX-WS2.0服.
.用Ant发布应用程序到OC4J.
.J2me的基本概念.
.J2EE综合:选择JDO还是CMP?.
.JDO、EJB/CMP、Hibernate和Amber.
.socket搭建服务器初级编程.
.手机上通用的UTF8转换程序.
.通用联接框架(GCF)连接类型使用.
.步入J2EE架构和过程(1).
.Canvas及其支持的按键事件测试小.

使用Servlet发送电子邮件

发表日期:2007-12-23


     使用JavaMail实现收发电子邮件功能  一文中介绍了如何安装JavaMail,使用JavaMail实现简单的邮件收发功能。本文介绍如何使用Servlet发送电子邮件。由于如何使用JavaMail已经在上文中有所介绍,因此本文将不做过多的原理介绍。

     用Servlet实现邮件发送非常简单,我们只是需要构建一个jsp文件,提供给用户提交邮件信息的表单。
使用Servlet发送电子邮件

 

 

 

 

 

 

 

<%@ page contentType="text/Html;charset=gb2312"%>
<html>
 <head>
  <title>Welcome</title>
 </head>
 <body>
  <center>
  <p>Welcome</p>
  <form name="form1" method="post" action="maildo">
    <p>收件人:
      <input type="text" name="send">
    </p>
    <p>主 题:
      <input type="text" name="subject">
    </p>
    <p>内 容:
      <textarea name="content"></textarea>
    </p>
    <p>
      <input type="submit" name="Submit" value="send">
    </p>
  </form>
  <p>&nbsp;</p>
</center>
 </body>
</html>

    浏览器收集到用户输入的信息后传递给Servlet来处理,Servlet通过request.getParameter()方法得到相关的数据后,通过JavaMail提供的API发送电子邮件。

package com.j2medev.servletmail;

import java.io.IOException;
import java.util.Properties;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.*;
import java.net.*;

public class MailServlet extends HttpServlet
{
    private static String host;

    private static String from;

    public void init(ServletConfig config) throws ServletException
    {
        super.init(config);
        host = config.getInitParameter("host");
        from = config.getInitParameter("from");
        System.out.println(host + from);
    }


    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException
    {

        doPost(request, response);
    }

    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException
    {
      
        String send = request.getParameter("send");
        String subject = request.getParameter("subject");
        String content = request.getParameter("content");

        try
        {
            Properties props = System.getProperties();
            // Setup mail server
            props.put("mail.smtp.host", host);
            // Get session
            Session session = Session.getDefaultInstance(props, null);
            // Define message
            MimeMessage message = new MimeMessage(session);
            // Set the from address
            message.setFrom(new InternetAddress(from));
            // Set the to address
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(
                    send));
            // Set the subject
            message.setSubject(subject);
            // Set the content
            message.setText(content);
            // Send message
            Transport.send(message);
        } catch (Exception e)
        {
            e.printStackTrace();
        }
    }
}


    接下来我们编辑web.XML文件,注意在init-param中写上host和from的参数,以便Servlet初始化的时候可以读取。
<?xml version="1.0" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
 <servlet>
  <servlet-name>ServletMail</servlet-name>
  <servlet-class>com.j2medev.servletmail.MailServlet</servlet-class>
  <init-param>
   <param-name>host</param-name>
   <param-value>smtp.263.net</param-value>
     </init-param>
     <init-param>
      <param-name>from</param-name>
      <param-value>eric.zhan@263.net</param-value>
     </init-param>
 </servlet>
 
 <servlet-mapping>
  <servlet-name>ServletMail</servlet-name>
  <url-pattern>/maildo</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>

 <error-page>
  <error-code>404</error-code>
  <location>/error.jsp</location>
 </error-page>

</web-app>
    由于我们需要用到JavaMail和JAF的支持,因此我们需要把相关的包放到YOURAPP/WEB_INF/lib下。在浏览器输入http://localhost:8080/yourapp/index.jsp 发送电子邮件。

(出处:)


上一篇:基于MIDP2.0实现图片的缩放功能 人气:730
下一篇:J2ME中处理日期相关问题 人气:781
浏览全部J2EE/J2ME的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐