WEB开发网      婵犵數濮烽弫鍛婄箾閳ь剚绻涙担鍐叉搐绾剧懓鈹戦悩瀹犲闁汇倗鍋撻妵鍕箛閸洘顎嶉梺绋款儑閸犳劙濡甸崟顖氬唨闁靛ě浣插亾閹烘鈷掗柛鏇ㄥ亜椤忣參鏌″畝瀣暠閾伙絽銆掑鐓庣仭缁楁垿姊绘担绛嬪殭婵﹫绠撻、姘愁樄婵犫偓娴g硶鏀介柣妯款嚋瀹搞儱螖閻樺弶鍟炵紒鍌氱Ч瀹曟粏顦寸痪鎯с偢瀵爼宕煎☉妯侯瀳缂備焦顨嗗畝鎼佸蓟閻旈鏆嬮柣妤€鐗嗗▓妤呮⒑鐠団€虫灀闁哄懐濮撮悾鐤亹閹烘繃鏅濋梺闈涚墕濡瑩顢欒箛鏃傜瘈闁汇垽娼ф禒锕傛煕閵娿儳鍩f鐐村姍楠炴﹢顢欓懖鈺嬬幢闂備浇顫夊畷妯肩矓椤旇¥浜归柟鐑樻尭娴滃綊姊虹紒妯虹仸闁挎洍鏅涜灋闁告洦鍨遍埛鎴︽煙閼测晛浠滃┑鈥炽偢閹鈽夐幒鎾寸彇缂備緡鍠栭鍛搭敇閸忕厧绶炴俊顖滅帛濞呭洭姊绘担鐟邦嚋缂佽鍊垮缁樼節閸ャ劍娅囬梺绋挎湰缁嬫捇宕㈤悽鍛婄厽閹兼番鍨婚埊鏇㈡煥濮樿埖鐓熼煫鍥ュ劤缁嬭崵绱掔紒妯肩畺缂佺粯绻堝畷姗€濡歌缁辨繈姊绘担绛嬪殐闁搞劋鍗冲畷顖炲级閹寸姵娈鹃梺缁樻⒒閳峰牓寮崒鐐寸厱闁抽敮鍋撻柡鍛懅濡叉劕螣鐞涒剝鏂€闂佺粯鍔曞Ο濠囧吹閻斿皝鏀芥い鏃囨閸斻倝鎽堕悙鐑樼厱闁哄洢鍔屾晶顖炴煕濞嗗繒绠婚柡灞界Ч瀹曨偊宕熼鈧▍锝囩磽娴f彃浜炬繝銏f硾椤戝洨绮绘ィ鍐╃厵閻庢稒岣跨粻姗€鏌ㄥ☉妯夹fい銊e劦閹瑩顢旈崟顓濈礄闂備浇顕栭崰鏍礊婵犲倻鏆﹂柟顖炲亰濡茶鈹戦埄鍐ㄧ祷妞ゎ厾鍏樺璇测槈閵忕姈鈺呮煏婢跺牆鍔撮柛鏂款槺缁辨挻鎷呯粙搴撳亾閸濄儳鐭撶憸鐗堝笒閺嬩線鏌熼崜褏甯涢柡鍛倐閺屻劑鎮ら崒娑橆伓 ---闂傚倸鍊搁崐鐑芥倿閿旈敮鍋撶粭娑樺幘濞差亜鐓涢柛娑卞幘椤斿棝姊虹捄銊ユ珢闁瑰嚖鎷�
开发学院软件开发Java 使用Servlet发送电子邮件 阅读

使用Servlet发送电子邮件

 2007-12-23 12:34:32 来源:WEB开发网 闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱闂佸湱铏庨崰鏍不椤栫偞鐓ラ柣鏇炲€圭€氾拷闂傚倸鍊搁崐椋庣矆娓氣偓楠炲鏁撻悩鎻掔€梺姹囧灩閻忔艾鐣烽弻銉︾厵闁规鍠栭。濂告煕鎼达紕校闁靛洤瀚伴獮鎺楀箣濠靛啫浜鹃柣銏⑶圭壕濠氭煙閻愵剚鐏辨俊鎻掔墛缁绘盯宕卞Δ鍐冣剝绻涘畝濠佺敖缂佽鲸鎹囧畷鎺戭潩閹典焦鐎搁梻浣烘嚀閸ゆ牠骞忛敓锟�婵犵數濮烽弫鍛婃叏椤撱垹绠柛鎰靛枛瀹告繃銇勯幘瀵哥畼闁硅娲熷缁樼瑹閳ь剙岣胯鐓ら柕鍫濇偪濞差亜惟闁宠桨鑳堕崝锕€顪冮妶鍡楃瑐闁煎啿鐖奸崺濠囧即閵忥紕鍘梺鎼炲劗閺呮稒绂掕缁辨帗娼忛埡浣锋闂佽桨鐒﹂幑鍥极閹剧粯鏅搁柨鐕傛嫹闂傚倸鍊搁崐椋庢濮橆兗缂氱憸宥堢亱闂佸湱铏庨崰鏍不椤栫偞鐓ラ柣鏇炲€圭€氾拷  闂傚倸鍊搁崐鐑芥嚄閼哥數浠氱紓鍌欒兌缁垶銆冮崨鏉戠厺鐎广儱顦崡鎶芥煏韫囨洖校闁诲寒鍓熷铏圭磼濡搫顫岄梺鍦拡閸嬪棝鎯€椤忓浂妯勯梺鍝勬湰濞叉ḿ鎹㈠┑濠勭杸闁哄洨濮烽悰銉╂⒒娴e搫甯跺鐟帮攻缁傚秴饪伴崼姘e亾閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡涱€楀褜鍠栭湁闁绘ɑ鐟ョ€氼喚绮绘ィ鍐╃厱妞ゆ劑鍊曢弸搴ㄦ煟韫囧鍔滈柕鍥у瀵潙螣閸濆嫬袝婵$偑鍊戦崹娲偡閳哄懎绠栭柍鈺佸暞閸庣喖鏌曢崶褍绨婚柟鍑ゆ嫹
核心提示: 使用javaMail实现收发电子邮件功能一文中介绍了如何安装JavaMail,使用JavaMail实现简单的邮件收发功能,使用Servlet发送电子邮件,本文介绍如何使用Servlet发送电子邮件,由于如何使用JavaMail已经在上文中有所介绍,<?xml version="1.0" ?&
   使用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> </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 发送电子邮件。

(出处:http://www.cncms.com)


Tags:使用 Servlet 发送

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接