http://blog.csdn.net/yzhxy2002/archive/2004/07/16/42763.aspx
希望对你有帮助,jsp的我没有,asp的到有

解决方案 »

  1.   

    package com.ipv.mail;/**
     * Title:  发送简单邮件的类,不发送附件
     * Description: send mail using smtp
     * Copyright:     Copyright (c) 2002
     * Company: ces
     * @author wz
     * @version  1.0
     */
    import java.util.*;
    import javax.mail.*;
    import java.io.*;
    import javax.mail.internet.*;public class SendMail {
      private String m_strFrom; //从谁那边发出
      private String m_strTo; //发达哪个邮箱
      private String m_strSmtpHost; //从哪个SMTP服务器发出
      private String m_strUser; //从哪个用户下发邮件
      private String m_strPassword; //那个用户的密码是什么
      private String m_strSubject; //邮件主题
      private String m_strContent; //邮件内容  public SendMail() {
        this.m_strFrom = "";
        this.m_strTo = "";
        this.m_strSmtpHost = "";
        this.m_strUser = "";
        this.m_strPassword = "";
        this.m_strSubject = "";
        this.m_strContent = "";
      }  public void setFrom(String strFrom) {
        this.m_strFrom = strFrom;
      }  public void setTo(String strTo) {
        this.m_strTo = strTo;
      }  public void setSmtpHost(String strSmtpHost) {
        this.m_strSmtpHost = strSmtpHost;
      }  public void setUser(String strUser) {
        this.m_strUser = strUser;
      }  public void setPassword(String strPassword) {
        this.m_strPassword = strPassword;
      }  public void setSubject(String strSubject) {
        this.m_strSubject = strSubject;
      }  public void setContent(String strContent) {
        this.m_strContent = strContent;
      }  //发送邮件
      public void send() throws MessagingException {
        Properties props = new Properties();
        props.put("mail.smtp.host", m_strSmtpHost);
        props.put("mail.smtp.auth", "true");
        Session s = Session.getInstance(props);
        s.setDebug(false);
        MimeMessage message = new MimeMessage(s);
        // 给消息对象设置发件人/收件人/主题/发信时间
        InternetAddress from = new InternetAddress(m_strFrom);
        message.setFrom(from);
        InternetAddress to = new InternetAddress(m_strTo);
        message.setRecipient(Message.RecipientType.TO, to);
        message.setSubject(m_strSubject);
        message.setSentDate(new Date());
        // 给消息对象设置内容
        BodyPart mdp = new MimeBodyPart(); //新建一个存放信件内容的BodyPart对象
        mdp.setContent(m_strContent, "text/html;charset=gb2312"); //给BodyPart对象设置内容和格式/编码方式
        Multipart mm = new MimeMultipart(); //新建一个MimeMultipart对象用来存放BodyPart对象(事实上可以存放多个)
        mm.addBodyPart(mdp); //将BodyPart加入到MimeMultipart对象中(可以加入多个BodyPart)
        message.setContent(mm); //把mm作为消息对象的内容
        message.saveChanges();
        Transport transport = s.getTransport("smtp");
        transport.connect(m_strSmtpHost, m_strUser, m_strPassword);
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
      }  public boolean sendMail(String strFrom, String strTo, String strSubject,
                              String strContext) {
        String strSMTPHOST = "";
        String strUSER = "";
        String strPASSWORD = "";
        String strSENDFROM = "";    InputStream is = getClass().getResourceAsStream("db.properties");
        Properties dbProps = new Properties();
        try {
          dbProps.load(is);
          strSMTPHOST = dbProps.getProperty("smtphost", "");
          strUSER = dbProps.getProperty("user", "");
          strPASSWORD = dbProps.getProperty("password", "");
          strSENDFROM = dbProps.getProperty("strfrom", "");    }
        catch (Exception e) {    }
        if (strFrom != null && !strFrom.trim().equals("")) {
          strSENDFROM = strFrom;
        }
        this.setSmtpHost(strSMTPHOST);
        this.setUser(strUSER);
        this.setPassword(strPASSWORD);
        this.setFrom(strSENDFROM);
        this.setTo(strTo);
        this.setSubject(strSubject);
        this.setContent(strContext);
        try {
          this.send();
        }
        catch (Exception e) {
          return false;
        }    return true;
      }  public static void main(String[] args) {
        SendMail sendMail = new SendMail();
        boolean aa = sendMail.sendMail("", "[email protected]", "sdfs", "sdfsdf");
        System.out.println(aa);  }}
      

  2.   

    把上面的东西搬到jsp上,提交一下就好了
    不过要设置smtp服务
      

  3.   

    javamail
    呵呵,楼主google一下,一大把
      

  4.   

    直接把上面的代码放在一个JSP页中的话,那客户要操作的那个发表单的JSP页是要另做一个,然后在那个JSP页里的action写上上面代码的JSP页名字吗?
      

  5.   

    还是把上面代码放在一个BEAN里,然后我怎么操作?
      

  6.   

    客户端的用html写,服务器端的jsp;HTML:<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
    <title>撰写邮件</title> 
    </head> 
    <body> 
    <form action="testall.jsp" method="post" name="form1"> 
    <table width="424" border="0" align="center" cellspacing="1" bgcolor="#006600" class="black" height="287"> <tr bgcolor="#FFFFFF"> 
    <td width="102" height="29"><font face="宋体"><font size="3">收信人</font>:</font></td> 
    <td width="308" height="23"> <input name="to1" type="text" id="to1" size="19"><font size="2"><i><font face="Basemic Times">@&nbsp; 
      </font></i></font><input name="to2" type="text" id="to2" size="17"></td> 
    </tr> <tr bgcolor="#FFFFFF"> 
    <td width="102" height="12"><font size="3"><font face="宋体">寄信人</font></font><font face="宋体">:</font></td> 
    <td width="308" height="23"> <input name="from1" type="text" id="from1" size="19"><i><font face="Basemic Times" size="2">@&nbsp; 
      </font></i><input name="from2" type="text" id="from2" size="17"></td>  
    </tr> <tr bgcolor="#FFFFFF"> 
    <td width="102" height="14"><font size="3"><font face="宋体">用户名</font></font><font face="宋体">:</font></td> 
    <td width="308" height="25"> <input name="yhm" type="text" id="yhm" size="41">  
    </tr>  <tr bgcolor="#FFFFFF">
    <td width="102" height="14"><font size="3"><font face="宋体">密&nbsp; 码</font></font><font face="宋体">:</font></td> 
    <td width="308" height="25"> <input name="mm" type="text" id="mm" size="41"> 
    </tr><tr bgcolor="#FFFFFF"> 
    <td width="102" height="25"><font size="3" face="宋体">主&nbsp; 题:</font></td> 
    <td width="308" height="25"> <input name="title" type="text" id="title" size="41"></td> 
    </tr> 
    <tr> 
    <td height="25" colspan="2" bgcolor="#FFFFFF" width="401"><font size="3"><font face="宋体">信件类型</font>:&nbsp; 
      </font><select name="emailtype" id="emailtype" size="1">         
    <option value="text/plain">Text</option> 
    <option value="text/html">Html</option> 
    <option selected>-Select-</option>
    </select></td> 
    </tr> 
    <tr> 
    <td height="63" colspan="2" bgcolor="#FFFFFF" width="401"><textarea name="content" cols="56" rows="8" id="content"></textarea></td> 
    </tr> <tr align="center" valign="bottom"> 
    <td colspan="2" bgcolor="#FFFFFF" width="401" height="33">
      <p align="left"><font size="3">附件(本地):</font>    
       <input name="fj2" type="file" id="fj2" size="47"></p>    
    </td> 
    </tr> 
    <tr align="center"> 
    <td colspan="2" bgcolor="#FFFFFF" width="401" height="11"> <input type="submit" name="Submit" value="发送"> 
    <input type="reset" name="Submit2" value="重置"></td> 
    </tr> 
    </table> 
    </form> 
    </body> 
    </html> 
    JSP:
    <%@ page contentType="text/html;charset=GB2312" %> 
    <%request.setCharacterEncoding("gb2312");%> 
    <%@ page import="java.util.*,javax.mail.*"%> 
    <%@ page import="javax.mail.internet.*"%> 
    <%@ page import="javax.activation.*"%><!--要发送附件必须引入该库--> <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
    <title>发送成功</title> 
    </head> 
    <body> 
    <% 
    try{ 
    String tto1=request.getParameter("to1"); 
    String tto2=request.getParameter("to2"); 
    String tfrom1=request.getParameter("from1"); 
    String tfrom2=request.getParameter("from2"); 
    String tyhm=request.getParameter("yhm"); 
    String tmm=request.getParameter("mm"); 
    String ttitle=request.getParameter("title"); 
    String emailtype=request.getParameter("emailtype");//获取email类型 
    String tcontent=request.getParameter("content"); 
    //String tfj1=request.getParameter("fj1"); 
    String tfj2=request.getParameter("fj2"); 
    String tfj3=request.getParameter("fj3"); String smtptype="";
    if(tfrom2.equals("163.com"))
    {smtptype="smtp.163.com";
      }//支持
      else if(tfrom2.equals("126.com"))
    {smtptype="smtp.126.com";
      }//支持
      else if(tfrom2.equals("21cn.com"))
    {smtptype="smtp.21cn.com";
      }//支持
      else if(tfrom2.equals("yahoo.com.cn"))
    {smtptype="smtp.mail.yahoo.com.cn";
      }//支持
    else if(tfrom2.equals("tom.com"))
    {smtptype="smtp.tom.com";
      }//支持
      else if(tfrom2.equals("263.net"))
    {smtptype="smtp.263.net";
      }//未试
      else if(tfrom2.equals("mail.china.com"))
    {smtptype="mail.china.com";
      }//不支持
      else if(tfrom2.equals("sina.com"))
    {smtptype="smtp.sina.com";
      }//不支持
      Properties props=new Properties(); 
    props.put("mail.smtp.host",smtptype); 
    props.put("mail.smtp.auth","true"); 
    Session s=Session.getInstance(props); 
    s.setDebug(true); MimeMessage message=new MimeMessage(s); //给消息对象设置发件人/收件人/主题/发信时间 
    InternetAddress from=new InternetAddress(tfrom1+"@"+tfrom2,tfrom1); 
    message.setFrom(from); 
    InternetAddress to=new InternetAddress(tto1+"@"+tto2); 
    message.setRecipient(Message.RecipientType.TO,to); 
    message.setSubject(ttitle); 
    message.setSentDate(new Date()); Multipart mm=new MimeMultipart();//新建一个MimeMultipart对象用来存放多个BodyPart对象 //设置信件文本内容 
    BodyPart mdp=new MimeBodyPart();//新建一个存放信件内容的BodyPart对象 
    mdp.setContent(tcontent,emailtype+";charset=gb2312");//给BodyPart对象设置内容和格式/编码方式 
    mm.addBodyPart(mdp);//将含有信件内容的BodyPart加入到MimeMultipart对象中 //设置信件的附件1(自定义附件:直接将所设文本内容加到自定义文件中作为附件发送) 
    //mdp=new MimeBodyPart();//新建一个存放附件的BodyPart 
    DataHandler dh=new DataHandler(tfj2,"text/plain;charset=gb2312"); 
    //新建一个DataHandler对象,并设置其内容和格式/编码方式 
    //mdp.setFileName("text.txt");//加上这句将作为附件发送,否则将作为信件的文本内容 
    //mdp.setDataHandler(dh);//给BodyPart对象设置内容为dh 
    //mm.addBodyPart(mdp);//将含有附件的BodyPart加入到MimeMultipart对象中 //设置信件的附件2(用本地上的文件作为附件) 
    mdp=new MimeBodyPart(); 
    FileDataSource fds=new FileDataSource(tfj2); 
    dh=new DataHandler(fds); 
    int ddd=tfj2.lastIndexOf("\\"); 
    String fname=tfj2.substring(ddd);//提取文件名 
    String ffname=new String(fname.getBytes("gb2312"),"ISO8859-1");//处理文件名是中文的情况 
    mdp.setFileName(ffname);//可以和原文件名不一致,但最好一样 
    mdp.setDataHandler(dh); 
    mm.addBodyPart(mdp); 
    //设置信件的附件3(用远程文件作为附件) 
    //mdp=new MimeBodyPart(); 
    /*URL urlfj=new URL(tfj3); 
    URLDataSource ur=new URLDataSource(urlfj); 
    //注:这里用的参数只能为URL对象,不能为URL字串,在前面类介绍时有误(请谅解),这里纠正一下. 
    dh=new DataHandler(ur); 
    int ttt=tfj3.lastIndexOf("/"); 
    String urlname=tfj3.substring(ttt); 
    //String urlfname=new String(urlname.getBytes("gb2312"),"ISO8859-1");//不知怎么回事,这里不能处理中文问题 
    mdp.setFileName(urlname); 
    mdp.setDataHandler(dh); 
    mm.addBodyPart(mdp); 
    */
    message.setContent(mm);//把mm作为消息对象的内容 message.saveChanges(); 
    Transport transport=s.getTransport("smtp"); 
    transport.connect(smtptype,tyhm,tmm); 
    transport.sendMessage(message,message.getAllRecipients()); 
    transport.close(); %> 
    <div align="center"> 
    <p><font color="#FF6600">发送成功!</font></p> <br> 
    <a href="m.html">再发一封</a> </p> 
    </div> 
    <% 
    }catch(MessagingException e){ 
    out.println(e.toString()); 
    } %> 
    </body> 
    </html> 
    这个程序有个问题,就是一定要加上附件,我很早写的,后来没有用,就没有改。
    需要的话,楼主自己改一改吧
      

  7.   

    <%@ page contentType="text/html;charset=gb2312" %>
    <%request.setCharacterEncoding("gb2312");%><!--中文处理代码-->
    <!--引入要用到的类库-->
    <%@ page import="java.util.*,javax.mail.*"%>
    <%@ page import="javax.mail.internet.*"%>
    <%@ page import="java.util.Date"%>
    <%@ page import="java.sql.*"%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>发送成功</title>
    </head><body>
    <%  try{  //从html表单中获取邮件信息
      String tto=request.getParameter("to");
      String ttitle=request.getParameter("title");
      String tcontent=request.getParameter("content");
      tcontent="";
      String myEmail=request.getParameter("myEmail");
      out.print(myEmail);
      //************************************************
      out.print(ttitle+tcontent);
      Properties props=new Properties();//也可用Properties props = System.getProperties();
     // props.put("mail.smtp.host","smtp.163.net");//存储发送邮件服务器的信息
      props.put("mail.smtp.host","221.136.100.35");
      props.put("mail.smtp.auth","true");//同时通过验证
      Session s=Session.getInstance(props);//根据属性新建一个邮件会话
      s.setDebug(true);  MimeMessage message=new MimeMessage(s);//由邮件会话新建一个消息对象  //设置邮件
      InternetAddress from=new InternetAddress("[email protected]");
      message.setFrom(from);//设置发件人
      InternetAddress to=new InternetAddress(tto);
      message.setRecipient(Message.RecipientType.TO,to);//设置收件人,并设置其接收类型为TO
      message.setSubject(ttitle);//设置主题
      message.setText(tcontent);//设置信件内容
      message.setSentDate(new Date());//设置发信时间  //发送邮件
      message.saveChanges();//存储邮件信息
      Transport transport=s.getTransport("smtp");
      //transport.connect("smtp.163.net","boy","iloveyou");//以smtp方式登录邮箱
      transport.connect("221.136.100.35","[email protected]","cn.etoall");
      transport.sendMessage(message,message.getAllRecipients());//发送邮件,其中第二个参数是所有
      //已设好的收件人地址
      transport.close();
    %>
    <div align="center">
    <p><font color="#FF6600">发送成功!</font></p>
    </div>
    <%
     }catch(MessagingException e)
     {
      out.println(e.toString());
     }
    %>
     </body>
    </html>
    ****************************************************************
    上面代码中的to变量是不是要指点发送到的邮箱地址?
      

  8.   

    这个是我用servlet写的一个方法,   public static void sendEmail(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException{
        String tto="[email protected]";
        String ttitle="hello";
        StringBuffer  Content=new StringBuffer("");
        Content.append("Subject:\n");
        Content.append("Message Text:\n");
        Content.append("\n");
        Content.append("\n");
        Content.append("\n");
    Content.append("Your e-mail:\n");
    Content.append("Your Name:\n");
    Content.append("Name of company\n");
    Content.append("Web Site:\n");    Properties props=new Properties();//也可用Properties props = System.getProperties(); 
        props.put("mail.smtp.host","smtp.126.com");//存储发送邮件服务器的信息
        props.put("mail.smtp.auth","true");//同时通过验证
        Session s=Session.getInstance(props);//根据属性新建一个邮件会话
        s.setDebug(true);    MimeMessage message=new MimeMessage(s);//由邮件会话新建一个消息对象//    设置邮件
       try{
        InternetAddress from=new InternetAddress("[email protected]");
        message.setFrom(from);//设置发件人
        InternetAddress to=new InternetAddress(tto);
        message.setRecipient(Message.RecipientType.TO,to);//设置收件人,并设置其接收类型为TO
        message.setSubject(ttitle);//设置主题
        message.setText(Content.toString());//设置信件内容
        message.setSentDate(new Date());//设置发信时间//    发送邮件
        message.saveChanges();//存储邮件信息
        Transport transport=s.getTransport("smtp");
        transport.connect("smtp.126.com","yuhua163","yuhua163");//以smtp方式登录邮箱
        transport.sendMessage(message,message.getAllRecipients());//发送邮件,其中第二个参数是所有
    //    已设好的收件人地址
        transport.close();
        System.err.print("email suss");
       }catch(Exception ex){
          ex.printStackTrace();
        System.err.print("email lost");
       }   }