- 浏览: 266988 次
- 性别:
- 来自: 合肥
文章分类
最新评论
-
fjyuxuebin:
怎么调用,有调用demo吗?
jquery 异步treeTable树形插件 -
anyone:
非常不错的插件
jquery 异步treeTable树形插件 -
孤心随云:
看起来不错!试一下先!
jquery 异步treeTable树形插件 -
iwq1990512:
最后Java代码,返回的不是json数据吧
jquery 异步treeTable树形插件 -
dengli19881102:
可以把整个代码提供么?
jquery 异步treeTable树形插件
1.邮件信息封装bean
2.邮件发送器
3.身份认证
4.测试使用
package com.mail; import java.util.Properties; /** * @desc 设置邮件基本信息 */ public class MailInfo { // 发送邮件的服务器的IP和端口[大多默认为25,gmail:465] private String mailServerHost; private String mailServerPort = "25"; //邮件发送者的地址 private String fromAddress; //邮件接收者的地址[支持多用户] private String []toAddress; // 登陆邮件发送服务器的用户名和密码 private String userName; private String password; //是否需要身份验证 private boolean validate = false; //邮件主题⡡ private String subject; // 邮件的文本内容 private String content; // 邮件附件的文件名[上传文件路径] private String[] attachFileNames; /** * 获得邮件会话属性 */ public Properties getProperties() { Properties p = new Properties(); p.put("mail.smtp.host", this.mailServerHost); p.put("mail.smtp.port", this.mailServerPort); p.put("mail.smtp.auth", validate ? "true" : "false"); //p.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");//gmail需要 return p; } public String getMailServerHost() { return mailServerHost; } public void setMailServerHost(String mailServerHost) { this.mailServerHost = mailServerHost; } public String getMailServerPort() { return mailServerPort; } public void setMailServerPort(String mailServerPort) { this.mailServerPort = mailServerPort; } public boolean isValidate() { return validate; } public void setValidate(boolean validate) { this.validate = validate; } public String[] getAttachFileNames() { return attachFileNames; } public void setAttachFileNames(String[] fileNames) { this.attachFileNames = fileNames; } public String getFromAddress() { return fromAddress; } public void setFromAddress(String fromAddress) { this.fromAddress = fromAddress; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String []getToAddress() { return toAddress; } public void setToAddress(String []toAddress) { this.toAddress = toAddress; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getSubject() { return subject; } public void setSubject(String subject) { this.subject = subject; } public String getContent() { return content; } public void setContent(String textContent) { this.content = textContent; } }
2.邮件发送器
package com.mail; import java.util.Date; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.mail.Address; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Multipart; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; /** * 简单邮件(不带附件的邮件)发送器 */ public class SendMail { /** * 以文本格式发送邮件 * @param mailInfo * 待发送的邮件的信息 */ public boolean sendTextMail(MailInfo mailInfo) { // 判断是否需要身份认证 MyAuthenticator authenticator = null; Properties pro = mailInfo.getProperties(); if (mailInfo.isValidate()) { // 如果需要身份认证,则创建一个密码验证器 authenticator = new MyAuthenticator(mailInfo.getUserName(),mailInfo.getPassword()); } // 根据邮件会话属性和密码验证器构造一个发送邮件的session Session sendMailSession = Session.getDefaultInstance(pro,authenticator); try { //根据session创建一个邮件消息 Message mailMessage = new MimeMessage(sendMailSession); //创建邮件发送者地址 Address from = new InternetAddress(mailInfo.getFromAddress()); //设置邮件消息的发送者 mailMessage.setFrom(from); //创建邮件的接收者地址,并设置到邮件消息中 String []toArray=mailInfo.getToAddress(); if(toArray.length==0)return false; InternetAddress[] toAddrArray = new InternetAddress[toArray.length]; for (int i = 0; i < toArray.length; i++) { toAddrArray[i] = new InternetAddress(toArray[i]); } mailMessage.setRecipients(Message.RecipientType.TO, toAddrArray); //设置邮件消息的主题 mailMessage.setSubject(mailInfo.getSubject()); //设置邮件消息发送的时间 mailMessage.setSentDate(new Date()); //设置邮件消息的主要内容 String mailContent = mailInfo.getContent(); mailMessage.setText(mailContent); //发送邮件 Transport.send(mailMessage); return true; } catch (MessagingException ex) { ex.printStackTrace(); } return false; } /** * 以HTML格式发送邮件 * @param mailInfo 待发送的邮件信息 */ public static boolean sendHtmlMail(MailInfo mailInfo) { MyAuthenticator authenticator = null; Properties pro = mailInfo.getProperties(); if (mailInfo.isValidate()) { authenticator = new MyAuthenticator(mailInfo.getUserName(),mailInfo.getPassword()); } Session sendMailSession = Session.getDefaultInstance(pro, authenticator); sendMailSession.setDebug(true); try { Message mailMessage = new MimeMessage(sendMailSession); Address from = new InternetAddress(mailInfo.getFromAddress()); mailMessage.setFrom(from); //Address to = new InternetAddress(mailInfo.getToAddress());单用户 //mailMessage.setRecipient(Message.RecipientType.TO, to); String []toArray=mailInfo.getToAddress(); if(toArray.length==0)return false; Address[] toAddrArray = new InternetAddress[toArray.length]; for (int i = 0; i < toArray.length; i++) { toAddrArray[i] = new InternetAddress(toArray[i]); } mailMessage.setRecipients(Message.RecipientType.TO, toAddrArray); mailMessage.setSubject(mailInfo.getSubject()); mailMessage.setSentDate(new Date()); //MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象 Multipart mainPart = new MimeMultipart(); //创建一个包含HTML内容的MimeBodyPart BodyPart html = new MimeBodyPart(); //设置HTML内容 html.setContent(mailInfo.getContent(),"text/html; charset=utf-8"); mainPart.addBodyPart(html); // 将MiniMultipart对象设置为邮件内容 mailMessage.setContent(mainPart); //发送邮件 mailMessage.saveChanges(); Transport transport = sendMailSession.getTransport("smtp"); transport.connect(mailInfo.getMailServerHost(),mailInfo.getUserName(),mailInfo.getPassword()); transport.sendMessage(mailMessage, mailMessage.getAllRecipients()); transport.close(); return true; } catch (MessagingException ex) { ex.printStackTrace(); } return false; } /** * 发送附件 * @param mailInfo 待发送的邮件信息 */ public static boolean sendAttach(MailInfo mailInfo) { MyAuthenticator authenticator = null; Properties pro = mailInfo.getProperties(); if (mailInfo.isValidate()) { authenticator = new MyAuthenticator(mailInfo.getUserName(),mailInfo.getPassword()); } Session sendMailSession = Session.getDefaultInstance(pro, authenticator); sendMailSession.setDebug(true); try { Message mailMessage = new MimeMessage(sendMailSession); Address from = new InternetAddress(mailInfo.getFromAddress()); mailMessage.setFrom(from); //Address to = new InternetAddress(mailInfo.getToAddress());单用户 //mailMessage.setRecipient(Message.RecipientType.TO, to); String []toArray=mailInfo.getToAddress(); if(toArray.length==0)return false; Address[] toAddrArray = new InternetAddress[toArray.length]; for (int i = 0; i < toArray.length; i++) { toAddrArray[i] = new InternetAddress(toArray[i]); } mailMessage.setRecipients(Message.RecipientType.TO, toAddrArray); mailMessage.setSubject(mailInfo.getSubject()); mailMessage.setSentDate(new Date()); //MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象 Multipart mainPart = new MimeMultipart(); //创建一个包含HTML内容的MimeBodyPart BodyPart mbp = new MimeBodyPart(); //设置HTML内容 mbp.setContent(mailInfo.getContent(),"text/html; charset=utf-8"); mainPart.addBodyPart(mbp); String attachFiles[]=mailInfo.getAttachFileNames(); for(String f:attachFiles){ mbp=new MimeBodyPart(); FileDataSource fds=new FileDataSource(f); //得到数据源 mbp.setDataHandler(new DataHandler(fds)); //得到附件本身并至入BodyPart mbp.setFileName(fds.getName()); //得到文件名同样至入BodyPart mainPart.addBodyPart(mbp); } // 将MiniMultipart对象设置为邮件内容 mailMessage.setContent(mainPart); //发送邮件 //mailMessage.saveChanges(); //Transport transport = sendMailSession.getTransport("smtp"); //transport.connect(mailInfo.getMailServerHost(),mailInfo.getUserName(),mailInfo.getPassword()); //transport.sendMessage(mailMessage, mailMessage.getAllRecipients()); //transport.close(); Transport.send(mailMessage); return true; } catch (MessagingException ex) { ex.printStackTrace(); } return false; } }
3.身份认证
package com.mail; import javax.mail.*; public class MyAuthenticator extends Authenticator { private String username = ""; private String password = ""; public MyAuthenticator() { } public MyAuthenticator(String username, String password) { this.username = username; this.password = password; } protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }
4.测试使用
package com.mail; public class TestMail { public static void main(String[] args) { MailInfo mailinfo=new MailInfo(); //--设置邮件服务器开始 mailinfo.setMailServerHost("smtp.gmail.com"); mailinfo.setMailServerPort("465"); mailinfo.setValidate(true); mailinfo.setUserName("zhaozhi3758"); mailinfo.setPassword("XXXXXXXX"); //--设置邮件服务器结束 mailinfo.setFromAddress("zhaozhi3758@sina.com");//邮件发送者的地址 //设置接受用户 String []ToAddress={"zhaozhi3758@163.com"}; mailinfo.setToAddress(ToAddress); //设置附件 String []attach={"F:\\login.properties"}; mailinfo.setAttachFileNames(attach); mailinfo.setSubject("-----邮件测试----"); mailinfo.setContent("<a href='#'>hiao的和</a>");//网页内容 SendMail sm=new SendMail(); if(sm.sendAttach(mailinfo)) System.out.println("邮件发送成功"); else System.out.println("邮件发送失败"); } }
评论
5 楼
qiushily2030
2010-11-26
sendAttach方法
4 楼
qiushily2030
2010-11-26
楼主,附件为word文档 文件名会出现乱码
如:邋_鰢w-20101125.doc
这个如何解决?
如:邋_鰢w-20101125.doc
这个如何解决?
3 楼
weijavamen
2010-11-19
很不错,很实用
2 楼
hoary20
2010-09-19
如果是多个附件的时候该怎么处理呢?
1 楼
lency
2010-09-03
非常感谢,可以用,如果能把activation.jar mail.jar两个包放上去供大家下载就更好了。
发表评论
-
RTFTemplate的初步使用
2011-09-02 15:29 4669一、模版制作 1 设计 *.fields.xml文件,在此文件 ... -
HtmlParser 解析搜索页面
2011-04-22 13:35 1647package com.safetys.crawler.u ... -
一个简易的Java爬虫程序
2011-04-19 15:00 8905package com.craw; /* 以下 ... -
HtmlParser 访问节点
2011-04-19 14:23 1248package com.htmlparse.test; ... -
汉字转拼音
2011-03-14 14:11 1824package com.yz.util; impor ... -
润乾报表-动态查询
2011-03-01 21:16 3899润乾报表提供宏工作机制,因此利用宏可以可以动态组织sql语 ... -
velocity 入门实例
2010-11-10 23:11 11161 java文件 package com.test; i ... -
为图片加水印
2010-10-31 22:16 845package com.bizoss.trade.util ... -
使用WebSphere DB2连接池
2010-07-28 17:44 1656WebSphere连接池配置有些繁琐,不过网上有很多例子 ... -
在WebSphere中获取配置文件信息
2010-07-26 16:37 2310在WebSphere环境中,因为工程是打成war包传上去的 ... -
文件合并
2010-03-03 22:15 1134package com.test3; /** * 合 ... -
文件拆分
2010-03-03 22:13 1054package com.test3; import ja ... -
java获取项目所在路径
2010-01-31 16:55 3148package com.test2; public ... -
java mysql数据库的备份与还原
2010-01-31 16:21 59911.底层数据库操作封装 package com.db; ... -
quartz web定时应用
2010-01-31 16:02 14881.web.xml配置 <servlet> ... -
Lucene为数据库建立索引
2010-01-31 15:50 1739package com.lucenedemo; impo ...
相关推荐
Java发送邮件,亲自测试,没有问题。目前支持简单Java邮件发送!
java邮件发送组件,邮件群发组件java邮件发送组件,邮件群发组件java邮件发送组件,邮件群发组件java邮件发送组件,邮件群发组件java邮件发送组件,邮件群发组件
简单Java邮件发送 上传的文件中有一个Jar包和demo源码
JAVA邮件发送工具类(支持同步和异步发送邮件以及附件信息),支持多个抄送邮件发送。
java 邮件发送测试java 邮件发送测试java 邮件发送测试
java邮件发送Demo(完整例子):下面是我的测试方法: public static void demo(){ Mail mail=new Mail(); mail.setSmtpHost("smtp.163.com");/** 设置SMTP **/ String mailFrom="wangxin_admin@163.com"; ...
自动给相关邮件发送邮件信息
基于java Mail API开发的图形化邮件发送客户端。博客地址:http://blog.csdn.net/wu2304211 内有项目详细描述。
java邮件发送工具类java邮件发送工具类包含gmail
java邮件发送例子 apache email demo
java邮件发送源码,运行之前要先在邮箱上授权第三方登录
java 邮件发送 可带附件 java 邮件发送 可带附件 java 邮件发送 可带附件
java 邮件发送代码 jmail 实现邮件的特快专递功能
支持yahoo,sina,sohu,163等网站,无需登陆网站,不过要有tomcat或weblogic等部署~(这是我做的,希望大家给点意见!)
简单的发送邮件项目自己做的!! 改一改就可以多样化
java发送邮件工具类,用于java程序实现邮件的发送功能
java邮件发送jar