使用Apache-commons-email發送電子郵件必須的三個jar文件:commons-email.jar,mail.jarm,activition.jar
Commons-email提供API發送電子郵件的信息。它的功能基礎是Java Mail API,僅僅提供一些簡單的mail類:
SimpleEmail:使用發送文本文件信息
MultiPartEmail:此類使用發送多個信息(Multipart messages)的,它允許一個文本信息攜帶一系列附件信息:
HtmlEmail:此類使用發送Html格式的電子郵件信息,他有一個附件攜帶容器(MultiPartEmail)可以容器添加附件信息。并支持圖片信息
EmailAttachement:一個簡單的容器類允許處理附件信息。他被MultiPartEmail和HtmlEmail實例使用。
java萬事開源好!?。?!
?
?
?
package cn.com.huawei.opensource.common.email;
import java.util.Map;
/**
* 發送的消息體的
* @author bailonggang
* 2009-2-8
* 下午03:11:59
*/
public class Message {
private String hostname;
private String to;
private String from;
private String subject;
private Map<String,String> auth;
private String content;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getHostname() {
return hostname;
}
public void setHostname(String hostname) {
this.hostname = hostname;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public Map<String, String> getAuth() {
return auth;
}
public void setAuth(Map<String, String> auth) {
this.auth = auth;
}
}
package cn.com.huawei.opensource.common.email;
import java.util.Map;
import java.util.Set;
import java.util.logging.Logger;
import javax.mail.internet.MimeUtility;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
/**
* 使用Apache-commons-email發送電子郵件必須的三個jar文件:commons-email.jar,mail.jarm,activition.jar
* Commons-email提供API發送電子郵件的信息。它的功能基礎是Java Mail API,僅僅提供一些簡單的mail類:
* SimpleEmail:使用發送文本文件信息
* MultiPartEmail:此類使用發送多個信息(Multipart messages)的,它允許一個文本信息攜帶一系列附件信息:
* HtmlEmail:此類使用發送Html格式的電子郵件信息,他有一個附件攜帶容器(MultiPartEmail)可以容器添加附件信息。并支持圖片信息
* EmailAttachement:一個簡單的容器類允許處理附件信息。他被MultiPartEmail和HtmlEmail實例使用。
* @author bailonggang
* 2009-2-8
* 下午03:43:26
*/
public class ApacheEmail {
private static Logger logger=Logger.getLogger(ApacheEmail.class.getName());
/**
* 發送文本格式或Html格式的Email的方式
* @param msg
*/
?? public static void sendTextEmail(Message msg)
?? {
?? try {
?? //創建電子郵件對象
?? HtmlEmail email=new HtmlEmail();
?? //設置電子郵件服務器的名稱
?? email.setHostName(msg.getHostname());
?? //設置編碼的
?? email.setCharset("gbk");
?? //設置收件人
?? email.addTo(msg.getTo());
?? //設置發件人的信息
?? email.setFrom(msg.getFrom());
??
?? //設置權限認證 信息
?? Map<String,String> auth=msg.getAuth();
?? Set<String> keys=auth.keySet();
?? for(String key: keys)
?? {
?? email.setAuthentication(key, auth.get(key));
?? }
?? //設置主題
?? email.setSubject(msg.getSubject());
?? //設置信息的主題內容
?? email.setMsg(msg.getContent());
?? //發送電子郵件
?? email.send();
} catch (Exception e) {
logger.info("send email is failure:"+e.getMessage());
?? }
?? }
??
?? /**
??? * 發送帶附件的電子郵件的應用
??? * @param msg
??? */
?? public static void sentAttacheEmail(Message msg)
?? {
?? //創建一個電子郵件的附件
?? EmailAttachment attachment=new EmailAttachment();
?? //設置電子郵件的附件本地路徑
?? attachment.setPath("C:/a.jpg");
?? attachment.setDisposition(EmailAttachment.ATTACHMENT);
?? //設置附件的描述的信息
?? attachment.setDescription("Picture of test");
?? //附件名稱可省略? attachment.setName("測試");
??
?? try {
//如果附件中是中文名,可能會出現亂碼設置方法如下信息:
attachment.setName(MimeUtility.encodeText("測試"));
//創建電子郵件的信息對象
MultiPartEmail email=new MultiPartEmail();
//設置郵件服務器信息
email.setHostName(msg.getHostname());
//設置郵件字符編碼集
email.setCharset("gbk");
//設置收件人信息
email.addTo(msg.getTo());
//設置發件人的信息
email.setFrom(msg.getFrom());
//如果需要認證信息的話,設置認證的用戶名-密碼,分別為發件人在郵件服務器上的注冊名稱和密碼
?? Map<String,String> auth=msg.getAuth();
?? Set<String> keys=auth.keySet();
? for(String key: keys)
?? {
?? email.setAuthentication(key, auth.get(key));
?? }
? //設置消息的主題
? email.setSubject("圖片");
//設置消息體
? email.setMsg(msg.getContent());
//添加附件信息
? email.attach(attachment);
? //發送短信
? email.send();
} catch (Exception e) {
logger.info("send attachement email is failure:"+e.getMessage());
}
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
?? }
}
Commons-email提供API發送電子郵件的信息。它的功能基礎是Java Mail API,僅僅提供一些簡單的mail類:
SimpleEmail:使用發送文本文件信息
MultiPartEmail:此類使用發送多個信息(Multipart messages)的,它允許一個文本信息攜帶一系列附件信息:
HtmlEmail:此類使用發送Html格式的電子郵件信息,他有一個附件攜帶容器(MultiPartEmail)可以容器添加附件信息。并支持圖片信息
EmailAttachement:一個簡單的容器類允許處理附件信息。他被MultiPartEmail和HtmlEmail實例使用。
java萬事開源好!?。?!





package cn.com.huawei.opensource.common.email;
import java.util.Map;
/**
* 發送的消息體的
* @author bailonggang
* 2009-2-8
* 下午03:11:59
*/
public class Message {
private String hostname;
private String to;
private String from;
private String subject;
private Map<String,String> auth;
private String content;
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getHostname() {
return hostname;
}
public void setHostname(String hostname) {
this.hostname = hostname;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public Map<String, String> getAuth() {
return auth;
}
public void setAuth(Map<String, String> auth) {
this.auth = auth;
}
}
package cn.com.huawei.opensource.common.email;
import java.util.Map;
import java.util.Set;
import java.util.logging.Logger;
import javax.mail.internet.MimeUtility;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
/**
* 使用Apache-commons-email發送電子郵件必須的三個jar文件:commons-email.jar,mail.jarm,activition.jar
* Commons-email提供API發送電子郵件的信息。它的功能基礎是Java Mail API,僅僅提供一些簡單的mail類:
* SimpleEmail:使用發送文本文件信息
* MultiPartEmail:此類使用發送多個信息(Multipart messages)的,它允許一個文本信息攜帶一系列附件信息:
* HtmlEmail:此類使用發送Html格式的電子郵件信息,他有一個附件攜帶容器(MultiPartEmail)可以容器添加附件信息。并支持圖片信息
* EmailAttachement:一個簡單的容器類允許處理附件信息。他被MultiPartEmail和HtmlEmail實例使用。
* @author bailonggang
* 2009-2-8
* 下午03:43:26
*/
public class ApacheEmail {
private static Logger logger=Logger.getLogger(ApacheEmail.class.getName());
/**
* 發送文本格式或Html格式的Email的方式
* @param msg
*/
?? public static void sendTextEmail(Message msg)
?? {
?? try {
?? //創建電子郵件對象
?? HtmlEmail email=new HtmlEmail();
?? //設置電子郵件服務器的名稱
?? email.setHostName(msg.getHostname());
?? //設置編碼的
?? email.setCharset("gbk");
?? //設置收件人
?? email.addTo(msg.getTo());
?? //設置發件人的信息
?? email.setFrom(msg.getFrom());
??
?? //設置權限認證 信息
?? Map<String,String> auth=msg.getAuth();
?? Set<String> keys=auth.keySet();
?? for(String key: keys)
?? {
?? email.setAuthentication(key, auth.get(key));
?? }
?? //設置主題
?? email.setSubject(msg.getSubject());
?? //設置信息的主題內容
?? email.setMsg(msg.getContent());
?? //發送電子郵件
?? email.send();
} catch (Exception e) {
logger.info("send email is failure:"+e.getMessage());
?? }
?? }
??
?? /**
??? * 發送帶附件的電子郵件的應用
??? * @param msg
??? */
?? public static void sentAttacheEmail(Message msg)
?? {
?? //創建一個電子郵件的附件
?? EmailAttachment attachment=new EmailAttachment();
?? //設置電子郵件的附件本地路徑
?? attachment.setPath("C:/a.jpg");
?? attachment.setDisposition(EmailAttachment.ATTACHMENT);
?? //設置附件的描述的信息
?? attachment.setDescription("Picture of test");
?? //附件名稱可省略? attachment.setName("測試");
??
?? try {
//如果附件中是中文名,可能會出現亂碼設置方法如下信息:
attachment.setName(MimeUtility.encodeText("測試"));
//創建電子郵件的信息對象
MultiPartEmail email=new MultiPartEmail();
//設置郵件服務器信息
email.setHostName(msg.getHostname());
//設置郵件字符編碼集
email.setCharset("gbk");
//設置收件人信息
email.addTo(msg.getTo());
//設置發件人的信息
email.setFrom(msg.getFrom());
//如果需要認證信息的話,設置認證的用戶名-密碼,分別為發件人在郵件服務器上的注冊名稱和密碼
?? Map<String,String> auth=msg.getAuth();
?? Set<String> keys=auth.keySet();
? for(String key: keys)
?? {
?? email.setAuthentication(key, auth.get(key));
?? }
? //設置消息的主題
? email.setSubject("圖片");
//設置消息體
? email.setMsg(msg.getContent());
//添加附件信息
? email.attach(attachment);
? //發送短信
? email.send();
} catch (Exception e) {
logger.info("send attachement email is failure:"+e.getMessage());
}
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
??
?? }
}
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
