- 浏览: 31986 次
- 性别:
- 来自: 承德
最新评论
-
zq726726:
请问 如果用spring 的话 怎么加配置???
Hibernate通用Dao设计。 -
woshihongshua:
一个自己写的图像操作包,实现了验证码识别等很多功能。 -
azure2a:
还真没试过,不过可以用上面的代码试试,不然估计要用图片二值化等 ...
趣味编程,利用zxing包设计QR码编码和解码程序。 -
qalong:
想问一下,如果QR的图片不清晰的时候,可以正常的解析吗?
趣味编程,利用zxing包设计QR码编码和解码程序。 -
lshoo:
JPA2的资料好啊!
学习Hibernate映射必读,JavaOne2009-JPA2映射的神秘之旅。
利用javamail发邮件,可以发送普通邮件,带附件和图片的邮件:
package util.mail;
import java.util.Date;
import java.util.HashSet;
import java.util.Properties;
import java.util.ResourceBundle;
import java.util.Set;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.*;
/**
* @author Lee
*
* 需要jaf-1_1_1及javamail-1_4_1的支持
*
*/
public class MailUtil {
private static Session session;
private static Transport sender;
private MailUtil(){
}
public static void createSession(){
if(session==null){
String protocol=ResourceBundle.getBundle("mail").getString("mail.transport.protocol");
String auth=ResourceBundle.getBundle("mail").getString("mail.smtp.auth");
boolean debug=Boolean.parseBoolean(ResourceBundle.getBundle("mail").getString("debug"));
createSession(protocol,auth,debug);
}
}
/**
*
* @param protocol
* @param auth
* @param Debug
* 用于创建发送邮件的配置类需要协议,是否认证,是否显示信息
*/
public static void createSession(String protocol,String auth,boolean Debug){
Properties props=new Properties();
props.setProperty("mail.transport.protocol",protocol);
props.setProperty("mail.smtp.auth",auth);
session=Session.getInstance(props);
session.setDebug(Debug);
}
/**
*
* @param from 发送人的地址
* @param to 接受人的地址
* @param title 标题
* @param body 邮件内容
* @param date 发送日期
* @return 返回邮件信息
* @throws AddressException
* @throws MessagingException
* 用于发送文本信息
*/
public static MimeMessage createTextMail(String from,String to,String title,String body,Date date) throws AddressException, MessagingException{
MimeMessage mail=new MimeMessage(session);
mail.setFrom(new InternetAddress(from));
mail.setRecipient(Message.RecipientType.TO,new InternetAddress(to));
mail.setSentDate(date);
mail.setSubject(title);
mail.setText(body);
mail.saveChanges();
return mail;
}
/**
*
* @param from
* @param to
* @param title
* @param body
* @param date
* @return 返回邮件信息
* @throws AddressException
* @throws MessagingException
* 用于发送html邮件
*/
public static MimeMessage createHtmlMail(String from,String to,String title,String body,Date date) throws AddressException, MessagingException{
MimeMessage mail=createTextMail(from,to,title,body,date);
mail.setContent(body,"text/html;charset=gb2312");
mail.saveChanges();
return mail;
}
/**
*
* @param from
* @param to
* @param title
* @param body
* @param date
* @param filenames
* @param imgnames
* @return 返回邮件信息
* @throws AddressException
* @throws MessagingException
* 创建带图片和附件的邮件
*/
public static MimeMessage createMultiMail(String from,String to,String title,String body,Date date,String[] filenames,String[] imgnames) throws AddressException, MessagingException{
MimeMessage mail=createHtmlMail(from,to,title,body,date);
MimeMultipart allMultipart=new MimeMultipart("mixed");
MimeMultipart contentMulti=new MimeMultipart("related");
MimeBodyPart contentPart=new MimeBodyPart();
MimeBodyPart htmlBody=new MimeBodyPart();
htmlBody.setContent(body,"text/html;charset=gb2312");
contentMulti.addBodyPart(htmlBody);
if(imgnames!=null){
for(MimeBodyPart part:createImgAttachment(imgnames)){
contentMulti.addBodyPart(part);
}
}
contentPart.setContent(contentMulti);
allMultipart.addBodyPart(contentPart);
if(filenames!=null){
for(MimeBodyPart part:createAttachment(filenames)){
allMultipart.addBodyPart(part);
}
}
mail.setContent(allMultipart);
mail.saveChanges();
return mail;
}
/**
*
* @param server 服务器
* @param user 用户
* @param pass 密码
* @return
* @throws MessagingException
* 建立邮件发送类
*/
public static Transport createSender(String server,String user,String pass) throws MessagingException{
sender=session.getTransport();
sender.connect(server,user,pass);
return sender;
}
public static Transport createSender() throws MessagingException{
if(sender==null){
String server=ResourceBundle.getBundle("mail").getString("server");
String user=ResourceBundle.getBundle("mail").getString("user");
String pass=ResourceBundle.getBundle("mail").getString("pass");
return createSender(server,user,pass);
}
return sender;
}
public static void send(MimeMessage mail) throws MessagingException{
createSession();
createSender();
sender.sendMessage(mail,mail.getRecipients(Message.RecipientType.TO));
}
public static void closeSender() throws MessagingException{
if(sender.isConnected())sender.close();
sender=null;
session=null;
}
public static Set<MimeBodyPart> createAttachment(String[] filenames) throws MessagingException{
Set<MimeBodyPart> attachments=new HashSet<MimeBodyPart>();
for(int i=0;i<filenames.length;i++){
MimeBodyPart attachment=new MimeBodyPart();
FileDataSource fds=new FileDataSource(filenames);
attachment.setDataHandler(new DataHandler(fds));
attachment.setFileName(filenames.substring(filenames.lastIndexOf("\\")+1));
attachments.add(attachment);
}
return attachments;
}
public static Set<MimeBodyPart> createImgAttachment(String[] imgnames) throws MessagingException{
Set<MimeBodyPart> attachments=new HashSet<MimeBodyPart>();
for(int i=0;i<imgnames.length;i++){
MimeBodyPart attachment=new MimeBodyPart();
FileDataSource fds=new FileDataSource(imgnames);
attachment.setDataHandler(new DataHandler(fds));
attachment.setFileName(imgnames.substring(imgnames.lastIndexOf("\\")+1));
attachment.setContentID(imgnames.substring(imgnames.lastIndexOf("\\")+1));
attachments.add(attachment);
}
return attachments;
}
public static void main(String[] args) throws AddressException, MessagingException{
MailUtil.send(MailUtil.createMultiMail("azure2a@163.com","azure2a@163.com","测试","<b>测试邮件<img src=\"cid:a.jpg\"></b>",new Date(),new String[]{"D:\\Java\\a.txt","D:\\Java\\a.jpg"},new String[]{"D:\\Java\\a.jpg"}));
MailUtil.send(MailUtil.createMultiMail("azure2a@163.com","azure2aa@sina.com","测试","<b>测试邮件<img src=\"cid:a.jpg\"></b>",new Date(),new String[]{"D:\\Java\\a.txt","D:\\Java\\a.jpg"},new String[]{"D:\\Java\\a.jpg"}));
MailUtil.closeSender();
}
}
配置文件
mail.properties
server=smtp.163.com
user=azure2a
pass=
mail.transport.protocol=smtp
mail.smtp.auth=true
debug=true
package util.mail;
import java.util.Date;
import java.util.HashSet;
import java.util.Properties;
import java.util.ResourceBundle;
import java.util.Set;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.*;
/**
* @author Lee
*
* 需要jaf-1_1_1及javamail-1_4_1的支持
*
*/
public class MailUtil {
private static Session session;
private static Transport sender;
private MailUtil(){
}
public static void createSession(){
if(session==null){
String protocol=ResourceBundle.getBundle("mail").getString("mail.transport.protocol");
String auth=ResourceBundle.getBundle("mail").getString("mail.smtp.auth");
boolean debug=Boolean.parseBoolean(ResourceBundle.getBundle("mail").getString("debug"));
createSession(protocol,auth,debug);
}
}
/**
*
* @param protocol
* @param auth
* @param Debug
* 用于创建发送邮件的配置类需要协议,是否认证,是否显示信息
*/
public static void createSession(String protocol,String auth,boolean Debug){
Properties props=new Properties();
props.setProperty("mail.transport.protocol",protocol);
props.setProperty("mail.smtp.auth",auth);
session=Session.getInstance(props);
session.setDebug(Debug);
}
/**
*
* @param from 发送人的地址
* @param to 接受人的地址
* @param title 标题
* @param body 邮件内容
* @param date 发送日期
* @return 返回邮件信息
* @throws AddressException
* @throws MessagingException
* 用于发送文本信息
*/
public static MimeMessage createTextMail(String from,String to,String title,String body,Date date) throws AddressException, MessagingException{
MimeMessage mail=new MimeMessage(session);
mail.setFrom(new InternetAddress(from));
mail.setRecipient(Message.RecipientType.TO,new InternetAddress(to));
mail.setSentDate(date);
mail.setSubject(title);
mail.setText(body);
mail.saveChanges();
return mail;
}
/**
*
* @param from
* @param to
* @param title
* @param body
* @param date
* @return 返回邮件信息
* @throws AddressException
* @throws MessagingException
* 用于发送html邮件
*/
public static MimeMessage createHtmlMail(String from,String to,String title,String body,Date date) throws AddressException, MessagingException{
MimeMessage mail=createTextMail(from,to,title,body,date);
mail.setContent(body,"text/html;charset=gb2312");
mail.saveChanges();
return mail;
}
/**
*
* @param from
* @param to
* @param title
* @param body
* @param date
* @param filenames
* @param imgnames
* @return 返回邮件信息
* @throws AddressException
* @throws MessagingException
* 创建带图片和附件的邮件
*/
public static MimeMessage createMultiMail(String from,String to,String title,String body,Date date,String[] filenames,String[] imgnames) throws AddressException, MessagingException{
MimeMessage mail=createHtmlMail(from,to,title,body,date);
MimeMultipart allMultipart=new MimeMultipart("mixed");
MimeMultipart contentMulti=new MimeMultipart("related");
MimeBodyPart contentPart=new MimeBodyPart();
MimeBodyPart htmlBody=new MimeBodyPart();
htmlBody.setContent(body,"text/html;charset=gb2312");
contentMulti.addBodyPart(htmlBody);
if(imgnames!=null){
for(MimeBodyPart part:createImgAttachment(imgnames)){
contentMulti.addBodyPart(part);
}
}
contentPart.setContent(contentMulti);
allMultipart.addBodyPart(contentPart);
if(filenames!=null){
for(MimeBodyPart part:createAttachment(filenames)){
allMultipart.addBodyPart(part);
}
}
mail.setContent(allMultipart);
mail.saveChanges();
return mail;
}
/**
*
* @param server 服务器
* @param user 用户
* @param pass 密码
* @return
* @throws MessagingException
* 建立邮件发送类
*/
public static Transport createSender(String server,String user,String pass) throws MessagingException{
sender=session.getTransport();
sender.connect(server,user,pass);
return sender;
}
public static Transport createSender() throws MessagingException{
if(sender==null){
String server=ResourceBundle.getBundle("mail").getString("server");
String user=ResourceBundle.getBundle("mail").getString("user");
String pass=ResourceBundle.getBundle("mail").getString("pass");
return createSender(server,user,pass);
}
return sender;
}
public static void send(MimeMessage mail) throws MessagingException{
createSession();
createSender();
sender.sendMessage(mail,mail.getRecipients(Message.RecipientType.TO));
}
public static void closeSender() throws MessagingException{
if(sender.isConnected())sender.close();
sender=null;
session=null;
}
public static Set<MimeBodyPart> createAttachment(String[] filenames) throws MessagingException{
Set<MimeBodyPart> attachments=new HashSet<MimeBodyPart>();
for(int i=0;i<filenames.length;i++){
MimeBodyPart attachment=new MimeBodyPart();
FileDataSource fds=new FileDataSource(filenames);
attachment.setDataHandler(new DataHandler(fds));
attachment.setFileName(filenames.substring(filenames.lastIndexOf("\\")+1));
attachments.add(attachment);
}
return attachments;
}
public static Set<MimeBodyPart> createImgAttachment(String[] imgnames) throws MessagingException{
Set<MimeBodyPart> attachments=new HashSet<MimeBodyPart>();
for(int i=0;i<imgnames.length;i++){
MimeBodyPart attachment=new MimeBodyPart();
FileDataSource fds=new FileDataSource(imgnames);
attachment.setDataHandler(new DataHandler(fds));
attachment.setFileName(imgnames.substring(imgnames.lastIndexOf("\\")+1));
attachment.setContentID(imgnames.substring(imgnames.lastIndexOf("\\")+1));
attachments.add(attachment);
}
return attachments;
}
public static void main(String[] args) throws AddressException, MessagingException{
MailUtil.send(MailUtil.createMultiMail("azure2a@163.com","azure2a@163.com","测试","<b>测试邮件<img src=\"cid:a.jpg\"></b>",new Date(),new String[]{"D:\\Java\\a.txt","D:\\Java\\a.jpg"},new String[]{"D:\\Java\\a.jpg"}));
MailUtil.send(MailUtil.createMultiMail("azure2a@163.com","azure2aa@sina.com","测试","<b>测试邮件<img src=\"cid:a.jpg\"></b>",new Date(),new String[]{"D:\\Java\\a.txt","D:\\Java\\a.jpg"},new String[]{"D:\\Java\\a.jpg"}));
MailUtil.closeSender();
}
}
配置文件
mail.properties
server=smtp.163.com
user=azure2a
pass=
mail.transport.protocol=smtp
mail.smtp.auth=true
debug=true
发表评论
-
Hibernate通用Dao设计。
2011-07-19 16:15 3190hibernate的通用Dao简化了程序,增加了开发过程, ... -
趣味编程,利用zxing包设计QR码编码和解码程序。
2011-04-20 23:03 24561、什么是RQ码? QR码是二维条码的一种,1994年由日 ... -
利用JEXL实现实时执行对象方法。
2011-02-14 16:50 1308使用情况:有时候我们在编译时并不知道可能执行什么方法,或者我们 ... -
cglib实现无接口代理
2011-02-13 22:52 1817使用情况:有时候我们需要为一个类建立代理对象,当执行原类的 ... -
学习Hibernate映射必读(二),JavaOne2009-JPA2新特征。
2011-02-10 19:46 975JavaOne2009-JPA2新特征介绍了JPA2的一些 ... -
Extjs Grid 带分页多选时的某种解决方案。
2011-02-10 19:42 4165使用情况:使用Extjs的Grid时使用远程分页时有一个问 ... -
学习Hibernate映射必读,JavaOne2009-JPA2映射的神秘之旅。
2011-02-07 12:51 916JavaOne2009-JPA2映射的神秘之旅,学习Hib ... -
使用HTMLPARSER和HTTPCLIENT制作网络爬虫,附赠相关技术文档。
2011-02-06 17:05 1963利用HTMLPARSER和HTTPCLIENT制作的网络爬 ... -
Java模式速查手册
2011-02-05 16:22 1127自己按照阎宏《Java与模 ... -
一个自己写的图像操作包,实现了验证码识别等很多功能。
2011-02-05 00:03 1954自己设计的图像操作包,实现很多功能。 包括三个类。 一、Ima ... -
一个文件操作类。
2009-12-12 14:21 317一个文件操作类,使用 ... -
循环链表
2009-11-13 09:54 58Java与算法的课后题,实现一个循环链表。 public c ... -
JAVA与模式读书笔记。
2009-10-06 11:08 127JAVA与模式读书笔记,自己读Java与模式时总结的书上的一些 ... -
呵呵,基础知识复习-类加载顺序。
2009-09-29 09:36 76有些基础知识其实自己也是很模糊,老是搞不清,比如一个类里的 ... -
自己设计的简单的验证框架。
2009-09-25 12:07 149自己设计的一个简单的验证框架,参照SpringSecrity。 ... -
cglib实现无接口代理
2009-09-24 11:29 182代理类。 package util.proxy; impor ... -
自己做的一组字符串操作方法,可能会用上。
2009-09-24 11:29 1004不过都是用的String效率可能不太高。 package ut ... -
图片的操作。
2009-09-24 11:25 110图片的操作类,实现剪切,缩放,旋转,水印,滤镜,未完成,有兴趣 ... -
线程池实现网络抓取器.
2009-09-24 11:24 54利用线程池实现的网络抓取工具,相似于google的功能,当然可 ... -
java验证码。
2009-09-24 11:23 1062package util.img; import java.a ...
相关推荐
使用JAVAMail代发邮件 资源源于不但搜索,自由源于不但努力
用JAVAMAIL发邮件(含附件),. TXT用JAVAMAIL发邮件(含附件),.TXT
资源包括邮件的发送、邮件的接收、查看邮件总数量和未读邮件数以及查看未读邮件并标记已读,还有我自己编写的简单的文档。希望能帮助需要帮助的筒子们
所需jar包 博文链接:https://jdh.iteye.com/blog/206366
java 发邮件java 发邮件java 发邮件java 发邮件
如资源名称之描述,一个简单的小例子~~~~~~~~~~~~~~~
用javamail发邮件必须的三个jar包跟其他的不知道什么作用的包 mail.jar+activation.jar+additionnal.jar
需要网讯的webex打开,讲解利用JavaMail发送邮件的开发过程。
使用javamail发送邮件,使用springboot打包jar,可java -jar mail.jar执行测试
基于javaMail电子邮件系统的设计(含源文件).pdf基于javaMail电子邮件系统的设计(含源文件).pdf基于javaMail电子邮件系统的设计(含源文件).pdf基于javaMail电子邮件系统的设计(含源文件).pdf基于javaMail电子邮件系统...
怎么用JavaMail收取邮件.doc怎么用JavaMail收取邮件.doc
JSP学习系列之JavaMail发邮件 JSP学习系列之JavaMail发邮件
此源码是使用javamail发送邮件,可以实现静默发送邮件,可以发送附件资源等。有相应的使用说明,快捷好用
javaMail发邮件 javaMail发邮件 javaMail发邮件
基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...