学生十六岁半,抢手机怎么判刑会判刑吗

您所在的位置: &
Java中如何实现邮件的发送包括网页文件的发送
Java中如何实现邮件的发送包括网页文件的发送
gaoqifang的博客
说明:本程序可实现网页文件、普通文件的发送。实现邮件发送需要三个jar包的支持:commons-codec-1.3.jar、commons-httpclient-3.0.jar(这两个jar包实现抓取互联网网页内容)以及mail.jar。
1、本程序可实现网页文件、普通文件的发送。
2、实现邮件发送需要三个jar包的支持:commons-codec-1.3.jar、commons-httpclient-3.0.jar(这两个jar包实现抓取互联网网页内容)以及mail.jar
具体实现:
一、首先建立MailAuthenticator类,继承自javax.mail.Authenticator类。此类实现发件箱的登陆验证。
package&pany. &&import&javax.mail.A &&import&javax.mail.PasswordA &&&&&public&class&MailAuthenticator&extends&Authenticator&{ &&&&& &&&&private&String& &&&&&private&String& &&&&&&&&&&&public&MailAuthenticator(String&username,&String&password){ &&&&&this.username&=& &&&&&this.password&=& &&&} &&&&String&getPassword()&{ &&&&&return& &&&} &&&&@Override&&&protected&PasswordAuthentication&getPasswordAuthentication()&{ &&&&&return&new&PasswordAuthentication(username,&password); &&&} &&&&String&getUsername()&{ &&&&&return& &&&} &&&&public&void&setPassword(String&password)&{ &&&&&this.password&=& &&&} &&&&public&void&setUsername(String&username)&{ &&&&&this.username&=& &&&} &&}&
二、 建立SimpleMailSender类,此类实现邮件的单发、群发等等,是邮件发送的核心类。
package&pany. &&import&java.util.L &import&java.util.P &&import&javax.mail.MessagingE &import&javax.mail.M &import&javax.mail.S &import&javax.mail.T &import&javax.mail.internet.AddressE &import&javax.mail.internet.InternetA &import&javax.mail.internet.MimeBodyP &import&javax.mail.internet.MimeM &import&javax.mail.internet.MimeMessage.RecipientT &import&javax.mail.internet.MimeM &&&&&&public&class&SimpleMailSender&{ &&&&private&final&transient&Properties&props&=&System.getProperties(); &&&&&private&transient&MailAuthenticator& &&&&&private&transient&Session& &&&&& &&&&&&&&&&&public&SimpleMailSender(final&String&smtpHostName,&final&String&username, &&&&&&&final&String&password)&{ &&&&&init(username,&password,&smtpHostName); &&&} &&&&&&&&&&&public&SimpleMailSender(final&String&username,&final&String&password)&{ &&&&&&&&&&final&String&smtpHostName&=&&smtp.&&+&username.split(&@&)[1]; &&&&&init(username,&password,&smtpHostName); &&&} &&&&&&&&&&&&private&void&init(String&username,&String&password,&String&smtpHostName)&{ &&&&&&&&&&props.put(&mail.smtp.auth&,&&true&); &&&&&props.put(&mail.smtp.host&,&smtpHostName); &&&&&&&&&&authenticator&=&new&MailAuthenticator(username,&password); &&&&&&&&&&session&=&Session.getInstance(props,&authenticator); &&&} &&&&&&&&&&&&&&public&void&send(String&recipient,&String&subject,&String&content) &&&&&&&throws&AddressException,&MessagingException&{ &&&&&&&&&&final&MimeMessage&message&=&new&MimeMessage(session); &&&&&&&&&&message.setFrom(new&InternetAddress(authenticator.getUsername())); &&&&&&&&&&message.setRecipient(RecipientType.TO,&new&InternetAddress(recipient)); &&&&&&&&&&message.setSubject(subject); &&&&&&&&&&Multipart&mp&=&new&MimeMultipart(&related&); &&&&&&&&&&&&&&&&&MimeBodyPart&mbp&=&new&MimeBodyPart(); &&&&&&&&&&&&&&&&&mbp.setContent(content.toString(),&text/charset=utf-8&); &&&&&&&&&&&&&&&&&mp.addBodyPart(mbp); &&&&&&&&&&&&&&&&&message.setContent(mp); &&&&& &&&&& &&&&&&&&&&&&&&&&&&Transport.send(message); &&&} &&&&&&&&&&&&&&public&void&send(List&String&&recipients,&String&subject,&String&content) &&&&&&&throws&AddressException,&MessagingException&{ &&&&&&&&&&final&MimeMessage&message&=&new&MimeMessage(session); &&&&&&&&&&message.setFrom(new&InternetAddress(authenticator.getUsername())); &&&&&&&&&&final&int&num&=&recipients.size(); &&&&&InternetAddress[]&addresses&=&new&InternetAddress[num]; &&&&&for&(int&i&=&0;&i&&&&i++)&{ &&&&&&&addresses[i]&=&new&InternetAddress(recipients.get(i)); &&&&&} &&&&&message.setRecipients(RecipientType.TO,&addresses); &&&&&&&&&&message.setSubject(subject); &&&&&&&&&&message.setContent(content.toString(),&&text/charset=utf-8&); &&&&&&&&&&Transport.send(message); &&&} &&&&&&&&&&&&&&public&void&send(String&recipient,&SimpleMail&mail) &&&&&&&throws&AddressException,&MessagingException&{ &&&&&send(recipient,&mail.getSubject(),&mail.getContent()); &&&} &&&&&&&&&&&&&public&void&send(List&String&&recipients,&SimpleMail&mail) &&&&&&&throws&AddressException,&MessagingException&{ &&&&&send(recipients,&mail.getSubject(),&mail.getContent()); &&&} &}&
三、 建立SimpleMail类,这只是个普通邮件类,主要用来封装所要发送的邮件信息。
package&pany. &&public&class&SimpleMail&{ &&&&&&private&String& &&&&&&private&String& &&&&&&&public&void&setSubject(String&subject)&{ &&&&&this.subject&=& &&&} &&&&public&void&setContent(String&content)&{ &&&&&this.content&=& &&&} &&&&public&String&getSubject()&{ &&&&&return& &&&} &&&&public&String&getContent()&{ &&&&&return& &&&} &}&
四、建立ReadHtmlFile类,此类用来读取网页文件(当然也能读取普通文件),将文件转换成String用来发送
package&pany. &&import&java.io.BufferedInputS &import&java.io.F &import&java.io.FileInputS &import&java.io.IOE &import&java.io.InputS &import&java.io.InputStreamR &import&java.io.R &&import&mons.httpclient.HttpC &import&mons.httpclient.HttpE &import&mons.httpclient.methods.GetM &&public&class&ReadHtmlFile&{ &&&&public&static&HttpClient&client&=&new&HttpClient(); &&&&& &&&&&&public&static&String&readFile(String&filename)&{ &&&&&File&file&=&new&File(filename); &&&&&Reader&reader&=&null; &&&&&StringBuffer&stb&=&new&StringBuffer(); &&&&&int&charread&=&0; &&&&&char[]&temps&=&new&char[100]; &&&&&try&{ &&&&&&&reader&=&new&InputStreamReader(new&FileInputStream(file)); &&&&&&&while&((charread&=&reader.read(temps))&!=&-1)&{ &&&&&&&&&if&(charread&==&temps.length)&{ &&&&&&&&&&&stb.append(temps); &&&&&&&&&&&temps&=&new&char[100]; &&&&&&&&&&&charread&=&0; &&&&&&&&&} &&&&&&&} &&&&&&&stb.append(temps); &&&&&&&reader.close(); &&&&&}&catch&(Exception&e)&{ &&&&&&&e.printStackTrace(); &&&&&} &&&&&String&str&=&stb.toString();& &&&&&return& &&&} &&&&&&&&&&&&&public&static&String&getSource(String&url)&{ &&&&&&GetMethod&method&=&new&GetMethod(url); &&&&&&try&{ &&&&&&&client.executeMethod(method); &&&&&}&catch&(HttpException&e)&{ &&&&&&&e.printStackTrace(); &&&&&}&catch&(IOException&e)&{ &&&&&&&e.printStackTrace(); &&&&&} &&&&&InputStream&in&=&null; &&&&&try&{ &&&&&&&in&=&method.getResponseBodyAsStream(); &&&&&}&catch&(IOException&e1)&{ &&&&&&&&&&&&&} &&&&&in&=&new&BufferedInputStream(in); &&&&&Reader&r&=&new&InputStreamReader(in); &&&&&int&c; &&&&&StringBuffer&buffer&=&new&StringBuffer(); &&&&&&try&{ &&&&&&&while&((c&=&r.read())&!=&-1) &&&&&&&&&buffer.append((char)&c); &&&&&}&catch&(IOException&e)&{ &&&&&&&e.printStackTrace(); &&&&&} &&&&&try&{ &&&&&&&in.close(); &&&&&}&catch&(IOException&e)&{ &&&&&&&e.printStackTrace(); &&&&&} &&&&&method.releaseConnection(); &&&&&&return&buffer.toString(); &&&}& &}&&
五、建立测试类,可以发送邮件了!!!
package&pany. &&import&java.util.ArrayL &import&java.util.L &&import&org.junit.T &&import&pany.util.ReadHtmlF &&public&class&MailTest&{ &&&&&&&&@Test&&&public&void&testSingleSend(){ &&&&&SimpleMail&sm=new&SimpleMail(); &&&&&sm.setSubject(&第一封邮件&); &&&&&String&str&=&ReadHtmlFile.getSource(&&); &&&&&&&&&&System.out.println(str); &&&&&sm.setContent(str); &&&&&SimpleMailSender&sms=new&SimpleMailSender(&&这里填写你的发件箱&,&这里填写你的发件箱密码&); &&&&&try&{ &&&&&&&sms.send(&这里需要填写接收邮件的邮箱&,&sm); &&&&&&&System.out.println(&执行完成!!&); &&&&&}&catch&(Exception&e)&{ &&&&&&&e.printStackTrace(); &&&&&} &&&} &&&&& &&&&& &&&&&&&&&@Test&&&public&void&testMassSend(){ &&&&&SimpleMail&sm=new&SimpleMail(); &&&&&sm.setSubject(&第一封邮件&); &&&&&String&str&=&ReadHtmlFile.getSource(&&); &&&&&&&&&&System.out.println(str); &&&&&sm.setContent(str); &&&&&SimpleMailSender&sms=new&SimpleMailSender(&这里填写你的发件箱&,&这里填写你的发件箱密码&); &&&&&List&String&&recipients=new&ArrayList&String&(); &&&&&recipients.add(&这里需要填写接收邮件的邮箱&); &&&&&recipients.add(&这里需要填写接收邮件的邮箱&); &&&&&recipients.add(&这里需要填写接收邮件的邮箱&); &&&&&recipients.add(&这里需要填写接收邮件的邮箱&); &&&&&try&{ &&&&&&&sms.send(recipients,&sm); &&&&&&&System.out.println(&执行完成!!&); &&&&&}&catch&(Exception&e)&{ &&&&&&&e.printStackTrace(); &&&&&} &&&} &}&&
最后再次强调:
1,所要发送的网页中,不要使用外联样式,脚本等,因为各大邮箱后台的过滤算法会过滤掉css,script等。
2,样式用标签style属性写。
3, 图片、链接必须使用绝对地址 (http://.....) 形式才能接收显示。
4,一般用于发送的网页文件都是按上面说的要求,自己另外制作的,专门用于邮件发送的网页。在互联网上抓取的网页发送后,一般都不能在收件箱中完美的显示。
原文链接:
【编辑推荐】
【责任编辑: TEL:(010)】
关于的更多文章
Java程序语言:一个类似C++或Smalltalk的对象导向程序语言。Java
随着云计算、物联网、大数据、移动互联网的大发展,你应该知道这些。
这个架构是从我近期在做的一个项目中剥离出来的,这个
MongoDB的转变也正是10gen的转变,Dwight Merriman在
在过去的近十年的时间里,面向对象编程大行其道。以至
《网管员世界》是国内唯一一家专门面向网管员职业的刊物。本书是2006年《网管员世界》各期内容的汇集,内容权威、全面、时效性强
51CTO旗下网站&java邮件开发_如何直接发送一封现有的邮件文件
秒后自动跳转到登录页
快捷登录:
举报类型:
不规范:上传重复资源
不规范:标题与实际内容不符
不规范:资源无法下载或使用
其他不规范行为
违规:资源涉及侵权
违规:含有危害国家安全等内容
违规:含有反动/色情等内容
违规:广告内容
详细原因:
任何违反下载中心规定的资源,欢迎Down友监督举报,第一举报人可获5-10下载豆奖励。
视频课程推荐
java邮件开发_如何直接发送一封现有的邮件文件
上传时间:
技术分类:
资源评价:
(3位用户参与评价)
已被下载&11&次
这是市面上无出其右的Java邮件培训视频,由于这套视频是结合了张孝祥老师对邮件系统的深刻理解、丰富的邮件实际开发经验,高超的教学技巧和精心的课程准备等诸多因素的产物,所以,从同一门技术内容上来看,它也是一套难以被模仿和超越的视频课程,是学习Java邮件开发的不二选择。另外,本套视频教程是张孝祥老师在录制完中国第一套Java培训视频、闭关修炼6年后复出的第一部视频作品,即使您暂时不需要学习和从事Java邮件开发,但...
51CTO下载中心常见问题:
1.如何获得下载豆?
1)上传资料
2)评论资料
3)每天在首页签到领取
4)购买VIP会员服务,无需下载豆下载资源
5)更多途径:点击此处
2.如何删除自己的资料?
下载资料意味着您已同意遵守以下协议:
1.资料的所有权益归上传用户所有
2.未经权益所有人同意,不得将资料中的内容挪作商业或盈利用途
3.51CTO下载中心仅提供资料交流平台,并不对任何资料负责
4.本站资料中如有侵权或不适当内容,请邮件与我们联系()
5.本站不保证资源的准确性、安全性和完整性, 同时也不承担用户因使用这些资料对自己和他人造成任何形式的伤害或损失
相关专题推荐
本专题收录Java经典编程的实例源码,
在国内的开发语言中,java凭借这简单
本套视频教程是韩顺平老师,循序渐进
北京圣思园张龙(风中叶)老师的Java
讲述Arm嵌入式Linux系统下的C语言编程
这段视频是从尚学堂科技的教学课堂上
本套视频共78集,是由郝斌老师根据多
本视频专题共180集涵盖了C语言概述中
本视频专题共107集涵盖了Java概述、数
由传智播客毕向东老师讲解的Java基础
本专题为spring视频教程,共31集。教
本专题为C语言黑客编程系列视频教程,
本专题为韩顺平讲解的Java从入门到精
本专题为Java Web项目开发案例精粹视
SSH为struts+spring+hibernate的一个
本专题为疯狂Java李刚老师讲解的Stru
意见或建议:
联系方式:
您已提交成功!感谢您的宝贵意见,我们会尽快处理

我要回帖

更多关于 抢劫罪怎么判刑 的文章

 

随机推荐