JSP与JavaMail (五)

来源:互联网 发布:苏州大数据培训课程 编辑:程序博客网 时间:2024/05/29 17:38
<script type="text/javascript">google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//</script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>6.发送三种类型的附件 前面我们已学会了发送一般文本邮件和超文本邮件,今天我们将让大家学会编写三种类型的附件的邮件 发送程序.(注:撰写界面仍然用前面的)<%@ 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 tcontent=request.getParameter("content");Properties props=new Properties();props.put("mail.smtp.host","127.0.0.1");props.put("mail.smtp.auth","true");Session s=Session.getInstance(props);s.setDebug(true);MimeMessage message=new MimeMessage(s);//给消息对象设置发件人/收件人/主题/发信时间InternetAddress from=new InternetAddress("xxf@cafe.com");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,"text/html;charset=gb2312");//给BodyPart对象设置内容和格式/编码方式mm.addBodyPart(mdp);//将含有信件内容的BodyPart加入到MimeMultipart对象中//设置信件的附件1(自定义附件:直接将所设文本内容加到自定义文件中作为附件发送)mdp=new MimeBodyPart();//新建一个存放附件的BodyPartDataHandler dh=new DataHandler("JavaMail附件测试","text/plain;charset=gb2312"); //新建一个DataHandler对象,并设置其内容和格式/编码方式mdp.setFileName("xxf.txt");//加上这句将作为附件发送,否则将作为信件的文本内容mdp.setDataHandler(dh);//给BodyPart对象设置内容为dhmm.addBodyPart(mdp);//将含有附件的BodyPart加入到MimeMultipart对象中//设置信件的附件2(用本地上的文件作为附件)mdp=new MimeBodyPart();FileDataSource fds=new FileDataSource("g:/xx.txt");dh=new DataHandler(fds);mdp.setFileName("dd.txt");//可以和原文件名不一致mdp.setDataHandler(dh);mm.addBodyPart(mdp);//设置信件的附件3(用远程文件作为附件)mdp=new MimeBodyPart();URLDataSource ur=new URLDataSource(new URL("http://localhost:8080/jspstudy/email/xx.gif")); //注:这里用的参数只能为URL对象,不能为URL字串,在前面类介绍时有误(请谅解),这里纠正一下.dh=new DataHandler(ur);mdp.setFileName("ss.txt");mdp.setDataHandler(dh);mm.addBodyPart(mdp);message.setContent(mm);//把mm作为消息对象的内容 message.saveChanges();Transport transport=s.getTransport("smtp");transport.connect("127.0.0.1","xxf","coffee");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="index.htm">再发一封</a> </p></div><%}catch(MessagingException e){out.println(e.toString());}%></body></html> 发送附件是不是很有趣呢?但是在这里由于没有修改撰写界面,要发送的附件只能在程序里固定,所以一点都不灵活.不用担心,下一次我们将重写撰写界面,当然同时也会修改邮件处理程序,到时我们将能灵活地发送自己的邮件.(待续)
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机wifi打不开怎么办 手机淘宝黑屏怎么办 淘宝网登不上怎么办 淘宝账号过期怎么办 忘记登录名怎么办 淘宝上不去了怎么办 淘宝没收到货怎么办 淘宝注册不了怎么办 淘宝注册不成功怎么办 手机丢了怎么办 百度打不开小说怎么办 电脑光盘打不开怎么办 淘宝注册限制怎么办 闲鱼被限制登录怎么办 手机淘宝登不进怎么办 影响手机网速怎么办 淘宝账号登不上怎么办? 登录不了淘宝怎么办 淘宝无法购买怎么办 淘宝网付错款怎么办 淘宝结算不了怎么办 手机软件无响应怎么办 淘宝购物车误删怎么办 微商加不到人怎么办 脸上皮肤过敏怎么办 我想加入美团网怎么办 销客多被骗怎么办 手机加载慢怎么办 小米poweredby怎么办 小米powered by怎么办 黑色牛仔裤发亮怎么办 怎么办有机肥销售 对方不开票怎么办 申购成功后怎么办 青春期假性狐臭怎么办 我有一点狐臭怎么办 狐臭不做手术怎么办 黄龙玉裂纹怎么办 黄龙玉手镯起棉怎么办 孕期想吃辣的怎么办 网页游戏卡顿怎么办