📄 615123.xml
字号:
<?xml version='1.0' encoding='GB2312'?>
<?xml-stylesheet type='text/xsl' href='../csdn.xsl'?>
<Topic>
<Issue>
<PostUserNickName></PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>110</credit>
<TopicId>615123</TopicId>
<TopicName>请问怎么在jsp里发带附件的邮件啊?我可以捐500分给回答的人</TopicName>
<PostUserId>11195</PostUserId>
<PostUserName>leovvex</PostUserName>
<RoomName>JSP</RoomName>
<ReplyNum>7</ReplyNum>
<PostDateTime>2002-4-1 18:41:56</PostDateTime>
<Point>100</Point>
<ReadNum>0</ReadNum>
<RoomId>28</RoomId>
<EndState>2</EndState>
<Content>很急,最好能给个例子,谢谢~
</Content>
</Issue>
<Replys>
<Reply>
<PostUserNickName>海曦</PostUserNickName>
<rank>五级(中级)</rank>
<ranknum>user5</ranknum>
<credit>100</credit>
<ReplyID>4070649</ReplyID>
<TopicID>615123</TopicID>
<PostUserId>173625</PostUserId>
<PostUserName>hax</PostUserName>
<Point>50</Point>
<Content>这个问题基本与jsp无关,请参考mime对信件格式的说明以及JavaMail(http://java.sun.com/products/javamail)。
当然有一些标签库可以容易的实现之。例如:http://jakarta.apache.org/taglibs/doc/mailer-doc/intro.html
例子:
1. 附加一张图片  
<mt:mail to="foo@home.net" from="bar@home.net" subject="test">
     <mt:message>[body of message]</mt:message>
     <mt:attach file="mail/duck.gif"/>
     <mt:send/>
</mt:mail>
2. 附加一个url      
<mt:mail to="foo@home.net" from="bar@home.net" subject="test">
     <mt:message>[body of message]</mt:message>
     <mt:attach url="">
        http://www.someplace.com/stuff.html
     </mt:attach>
     <mt:send/>
</mt:mail>
3. 附加html      
<mt:mail to="foo@home.net" from="bar@home.net" subject="test">
     <mt:message>[body of message]</mt:message>
     <mt:attach type="text/html">
        <h1>This is just a test</h1>
     </mt:attach>
     <mt:send/>
</mt:mail> 
               
 
</Content>
<PostDateTime>2002-4-2 5:39:31</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>阿卜(幻儿的)</PostUserNickName>
<rank>三级(初级)</rank>
<ranknum>user3</ranknum>
<credit>100</credit>
<ReplyID>4071103</ReplyID>
<TopicID>615123</TopicID>
<PostUserId>165561</PostUserId>
<PostUserName>CoolAbu</PostUserName>
<Point>50</Point>
<Content><%@ 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.sohu.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.connect("smtp.sohu.com","wang76_cn","764688");
transport.send(newMessage);
%>
<p> 你的邮件已发送,请返回。 <p>
<%
}
catch(MessagingException m)
{
out.println(m.toString());
}
%>
</body>
</html>
我从表单中提交form:   wang_cn@sohu.com
               to:   whsu@sina.com
怎么出错呀:
 javax.mail.SendFailedException: Sending failed; nested exception is: javax.mail.MessagingException: 505 Client was not authenticated    
 
 
Top 
 
 回复人: skyyoung(路人甲) (  ) 信誉:100  2001-9-10 13:42:54  得分:0  
 
 
  Unfortunately, this doesn't use the Authenticator class in javax.mail, so you would have to build in your own mechanism to prompt the user for this information.
You may also need to set the mail.smtp.auth property to true: 
props.put("mail.smtp.auth", "true");
 
 
 
Top 
 
 回复人: CAYU(中原) (  ) 信誉:100  2001-9-10 14:49:41  得分:0  
 
 
  <%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="sun.net.smtp.SmtpClient, java.io.*" %> 
<% 
 String e_smtp=request.getParameter("smtp");
 String e_from=request.getParameter("from");
 String e_to=request.getParameter("to");
 String e_subject=request.getParameter("subject");
 String e_body=request.getParameter("body");
 try{ 
  SmtpClient client = new SmtpClient(e_smtp); 
  client.from(e_from); 
  client.to(e_to); 
  PrintStream message = client.startMessage(); 
  message.println("To:" + e_to); 
  message.println("Subject:" + e_subject); 
  message.println(e_body); 
  message.println(); 
  client.closeServer(); 
 } 
catch (IOException e){ 
  System.out.println("EMAIL 发送出错:"+e); 
}
out.println("--------------------------------发送成功--------------------------------<br>");
out.println("主题:" + e_subject);
out.println("<br>");
out.println("BODY:" + e_body);
%> 
 
 
 
Top 
 
 回复人: zengxz(无可奈何) (  ) 信誉:100  2001-9-14 14:55:02  得分:0  
 
 
  稍微做下修改,程序如下(调试通过)
<%@ page language="java" 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", "202.96.44.20");  //"202.96.44.20" 是“smtp.263.net”的IP!
props.put("mail.smtp.auth", "true");  //add
Message newMessage = new MimeMessage(sendMailSession);
newMessage.setFrom(new InternetAddress("xz_zeng@263.net"));
newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("xz_zeng@sina.com.cn"));
newMessage.setSubject("subject1");
newMessage.setSentDate(new Date());
newMessage.setText("text");
transport = sendMailSession.getTransport("smtp");
newMessage.saveChanges();
transport.connect("202.96.44.20","xz_zeng","password");
transport.sendMessage(newMessage,newMessage.getRecipients(Message.RecipientType.TO));  //modify
//transport.send(newMessage);
transport.close();
%>
<p> 你的邮件已发送,请返回。 <p>
<%
}
catch(SendFailedException e)
{
  out.println(e.toString());
}
catch(MessagingException m)
{
out.println(m.toString());
}
%>
</body>
</html>
 还有啊,你把你263的密码改一下吧,哈哈。。! 
 
 
</Content>
<PostDateTime>2002-4-2 8:45:47</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>笨笨</PostUserNickName>
<rank>两星(中级)</rank>
<ranknum>star2</ranknum>
<credit>120</credit>
<ReplyID>4071710</ReplyID>
<TopicID>615123</TopicID>
<PostUserId>115764</PostUserId>
<PostUserName>yanchang</PostUserName>
<Point>0</Point>
<Content>哈哈,500分很容易拿啊
搞定了吗?
如果需要的话给我发email
yanchang117@163.com
著名你的名字 leovvex ()
发出去不很难,
关键是支持中文和一些特殊的格式有点问题
我也没搞好呢</Content>
<PostDateTime>2002-4-2 9:22:12</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>dunkee</PostUserNickName>
<rank>二级(初级)</rank>
<ranknum>user2</ranknum>
<credit>100</credit>
<ReplyID>4071939</ReplyID>
<TopicID>615123</TopicID>
<PostUserId>218498</PostUserId>
<PostUserName>dunkee</PostUserName>
<Point>0</Point>
<Content>94.
发不难,难的是中文,象附件的中文文件名什么的。
而且263.net、163.com等发的邮件,收的时候也是
大堆乱码。不知道他们的邮件用什么编码。
大家有什么心得一定交流哈!
</Content>
<PostDateTime>2002-4-2 9:34:17</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>路人甲</PostUserNickName>
<rank>三星(高级)</rank>
<ranknum>star3</ranknum>
<credit>105</credit>
<ReplyID>4072131</ReplyID>
<TopicID>615123</TopicID>
<PostUserId>10807</PostUserId>
<PostUserName>skyyoung</PostUserName>
<Point>0</Point>
<Content>看看javamail的DEMOS。
---------------
shmilu@sina.com</Content>
<PostDateTime>2002-4-2 9:44:13</PostDateTime>
</Reply>
<Reply>
<PostUserNickName></PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>110</credit>
<ReplyID>4073642</ReplyID>
<TopicID>615123</TopicID>
<PostUserId>11195</PostUserId>
<PostUserName>leovvex</PostUserName>
<Point>0</Point>
<Content>谢谢各位</Content>
<PostDateTime>2002-4-2 11:03:11</PostDateTime>
</Reply>
<Reply>
<PostUserNickName></PostUserNickName>
<rank>一级(初级)</rank>
<ranknum>user1</ranknum>
<credit>110</credit>
<ReplyID>4073703</ReplyID>
<TopicID>615123</TopicID>
<PostUserId>11195</PostUserId>
<PostUserName>leovvex</PostUserName>
<Point>0</Point>
<Content>谢谢各位,分书各位分一分吧</Content>
<PostDateTime>2002-4-2 11:06:30</PostDateTime>
</Reply>
</Replys>
</Topic>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -