<%@ page   import=" javax.mail.*, javax.mail.internet.*, javax.activation.*,java.util.*"  %>  <html>  <head>   <TITLE>JavaMail 电子邮件发送系统</TITLE>  </HEAD>  <BODY>  <%   try{    Properties props = new Properties();    Session sendMailSession;    Store store;    Transport transport;    sendMailSession = Session.getInstance(props, null);    props.put("mail.smtp.host", "smtp.x.com");    Message newMessage = new MimeMessage(sendMailSession);    newMessage.setFrom(new InternetAddress(request.getParameter("from")));    newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(request.getParameter("to")));    newMessage.setSubject(request.getParameter("subject"));    newMessage.setSentDate(new Date());    newMessage.setText(request.getParameter("text"));    transport = sendMailSession.getTransport("smtp");    transport.send(newMessage);  %>  <p>你的邮件已发送,请返回。</p>  <%   }    catch(MessagingException m)    {      out.println(m.toString());     }   %>  </BODY>  </HTML>  

解决方案 »

  1.   

    再进一步的请教各位,如果我现在是让用户填写一张调查表,点击发送后,表单发送到某个指定邮箱,而且需要按照html格式显示,如何实现?
      

  2.   

    象tom.com就需要身份验证了
    这时myfreespirit的程序就不能通过了
    提示错误:
    javax.mail.SendFailedException: Sending failed; nested exception is: class javax.mail.MessagingException: 553 You are not authorized to send mail as >, authentication is required
      

  3.   

    用你上面的代码,出现的提示跟你一样!
    用我的代码(经过验证)<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>撰写邮件</title>
    </head>
    <body>
    <form action="sendmimemail.jsp" method="post" name="form1">
    <table width="75" border="0" align="center" cellspacing="1" bgcolor="#006600" class="black">
    <tr bgcolor="#FFFFFF"> 
    <td width="24%">收信人地址:</td>
    <td width="76%"> <input name="to" type="text" id="to"></td>
    </tr>
    <tr bgcolor="#FFFFFF"> 
    <td>主题:</td>
    <td> <input name="title" type="text" id="title"></td>
    </tr>
    <tr> 
    <td height="18" colspan="2" bgcolor="#FFFFFF">信件类型
    <select name="emailtype" id="emailtype">
    <option value="text/plain" selected>Text</option>
    <option value="text/html">Html</option>
    </select></td>
    </tr>
    <tr> 
    <td height="53" colspan="2" bgcolor="#FFFFFF"><textarea name="content" cols="50" rows="5" id="content"></textarea></td>
    </tr>
    <tr align="center"> 
    <td colspan="2" bgcolor="#FFFFFF">附件1(自定义): 
    <input name="fj1" type="text" id="fj1">
    (输入文本信息) </td>
    </tr>
    <tr align="center" valign="bottom"> 
    <td colspan="2" bgcolor="#FFFFFF">附件2(本地): 
    <input name="fj2" type="file" id="fj2" size="10"></td>
    </tr>
    <tr align="center"> 
    <td colspan="2" bgcolor="#FFFFFF">附件3(远程): 
    <input name="fj3" type="text" id="fj3" value="http://">
    (输入URL)</td>
    </tr>
    <tr align="center"> 
    <td colspan="2" bgcolor="#FFFFFF"> <input type="submit" name="Submit" value="发送"> 
    <input type="reset" name="Submit2" value="重置"></td>
    </tr>
    </table>
    </form>
    </body>
    </html>
      

  4.   

    提交.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.*"%><!--要发送附件必须引入该库-->
    <%@ page import="java.net.*"%><!--要用到URL类-->
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>发送回馈</title>
    </head>
    <body>
    <%
    try{
    String tto=request.getParameter("to");
    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");Properties props=new Properties();
    props.put("mail.smtp.host","smtp.tom.com");
    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);
    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(tfj1,"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("smtp.tom.com","linsr3222","lsr3222");//设置smtp认证
    transport.sendMessage(message,message.getAllRecipients());
    transport.close();
    %>
    <div align="center">
    <p><font color="#FF6600">发送成功!</font></p>
    <!--<p><a href="recmail.jsp">去看看我的信箱</a>--><br>
    <br>
    <a href="sendmimemail.htm">再发一封</a> </p>
    </div>
    <%
    }catch(MessagingException e){
    out.println(e.toString());
    }
    %>
    </body>
    </html>
      

  5.   

    to:linsr()
    怎么我调你的代码有错误呀?