package com.util;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.mail.internet.MimeUtility;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
/**
*
* @author macwhirr
*
*/
public class SendEmailHtml {
public static void sendEmailMethod(String emailTitle,String emailContent,String args[],String args2[])
{
EmailAttachment attachment=null;
//去掉附件。
//下面这部分打开的话,可以添加附件,发送附件。path是附件地址。
// EmailAttachment attachment = new EmailAttachment();
// try {
// attachment.setPath(path);
// attachment.setDisposition(EmailAttachment.ATTACHMENT);
// attachment.setDescription(MimeUtility.encodeWord("附件","UTF-8",null));
// attachment.setName(MimeUtility.encodeWord(filename+".xls","UTF-8",null));
// } catch (UnsupportedEncodingException e1) {
// // TODO Auto-generated catch block
// attachment=null;
// e1.printStackTrace();
// }
HtmlEmail email = new HtmlEmail(); //可带附件的
//MultiPartEmail email = new MultiPartEmail(); //可带附件的
// SimpleEmail email = new SimpleEmail(); //不带附件的
try {
// email.setHostName("smtp.qq.com");//邮件服务器 pop.126.com ,smtp.126.com
email.setHostName("smtp.exmail.qq.com");//公司邮箱发邮件用这个
// email.setSmtpPort(465);
email.setAuthentication("发件人的邮箱", "发件人的邮箱密码");//smtp认证的用户名和密码
for (int i = 0; i < args.length; i++) {
email.addTo(args[i],"");//收信者
}
if (args2.length!=0) {
for (int i = 0; i < args2.length; i++) {
email.addCc(args2[i], "");//这个是抄送
}
}
// email.addTo(args[1],"");//收信者
// email.addTo(args[2],"");//收信者
// email.addTo(args[3],"");//收信者
// email.addTo(args[4],"");//收信者2012-11-20 10:31:15新增
email.setFrom("发件人的邮箱", "发件人的昵称");//发信者
email.setSubject(emailTitle);//标题
email.setCharset("UTF-8");//编码格式
// URL url=null;
// try {
// url = new URL(""); //图片链接,直接写链接会被屏蔽
// } catch (MalformedURLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// String whylogo = email.embed(url, "WHY logo.jpg"); //如下面不调用<img src='cid:"+whylogo+"' 则以附件形式出现
//email.setHtmlMsg(""); --- email.setMsg("")
email.setHtmlMsg(emailContent) ;
// + "<br><img src='cid:"+whylogo+"' +" +
// "width='100' height='100' /></body></html>");//内容
if(attachment!=null)
{
email.attach(attachment); //带附件的
}
//gmail跟其他的邮箱的不同之处在于它的默认端口不是普通的25,而是465
//email.setSSL(Boolean.TRUE); // 设定是否使用SSL
// email.setSslSmtpPort("465"); // 设定SSL端口
email.send();//发送
} catch (EmailException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String mail[]=new String[4];
mail[0]="收件人邮箱1";
mail[1]="收件人邮箱2";
mail[2]="收件人邮箱3";
mail[3]="收件人邮箱4";
//抄送
String ccmail[]={"123@qq.com"};
//发送邮件
SendEmailHtml.sendEmailMethod("这个就是邮件的标题咯", "这个就是邮件的内容<br/><br/>还可以换行→_→ ", mail,ccmail);
}
}
Java 發送邮件 带附件
最新推荐文章于 2022-08-14 22:03:40 发布