1
.使用
Apache-commons-email
发送邮件非常简单
,
只需要加载三个
jar
包:
commons-email-1.1.jar
、
mail.jar
、
activition.jar
。
Commons Email aims to provide a API for sending email. It is built on top of the Java Mail API, which it aims to simplify.
Some of the mail classes that are provided are as follows:
SimpleEmail
- This class is used to send basic text based emails.
MultiPartEmail
- This class is used to send multipart messages. This allows a text message with attachments either inline or attached.
HtmlEmail
- This class is used to send HTML formatted emails. It has all of the capabilities as MultiPartEmail allowing attachments to be easily added. It also supports embedded images.
EmailAttachment
- This is a simple container class to allow for easy handling of attachments. It is for use with instances of MultiPartEmail and HtmlEmail.
2.下面两个经过测试的代码:
//发送简单的文本
import
org.apache.commons.mail.EmailException;
import
org.apache.commons.mail.HtmlEmail;
public
class
mailSender {
/**
*
@
测试成功!!!
*/
public
static
void
main(String[] args) {
//
不要使用
SimpleEmail,
会出现乱码问题
HtmlEmail email =
new
HtmlEmail();
try
{
//
这里是发送服务器的名字
email.setHostName(
"smtp.sohu.com"
);
//
编码集的设置
email.setCharset(
"gbk"
);
//
收件人的邮箱
//
发送人的邮箱
//
如果需要认证信息的话,设置认证:用户名
-
密码。分别为发件人在邮件服务器上的注册名称和密码
email.setAuthentication(
"ppzhguy"
,
"XXXX"
);
email.setSubject(
"
测试
Email"
);
//
要发送的信息
email.setMsg(
"
测试
Email "
);
//
发送
email.send();
}
catch
(EmailException e) {
//
TODO
Auto-generated catch block
e.printStackTrace();
}
}
}
}
//发送附件:
import
javax.mail.internet.MimeUtility;
import
org.apache.commons.mail.EmailAttachment;
import
org.apache.commons.mail.MultiPartEmail;
public
class
AttachMailSender {
/**
*
@param
args
*
@throws
Exception
*/
public
static
void
main(String[] args)
throws
Exception {
//
TODO
Auto-generated method stub
// Create the attachment
EmailAttachment attachment =
new
EmailAttachment();
attachment.setPath(
"D:/
测试
.jpg"
);
//
指定附件在本地的绝对路径
attachment.setDisposition(EmailAttachment.
ATTACHMENT
);
attachment.setDescription(
"Picture of test"
);
//
附件描述
// attachment.setName("
测试
");//
附件名称
//
如果附件是中文名会在乱码
,attachment.setName(MimeUtility.encodeText("
测试
"));
attachment.setName(MimeUtility.encodeText(
"
测试
"
));
// Create the email message
MultiPartEmail email =
new
MultiPartEmail();
email.setHostName(
"smtp.sohu.com"
);
//
编码集的设置
email.setCharset(
"gbk"
);
//
收件人的邮箱
//
发送人的邮箱
//
如果需要认证信息的话,设置认证:用户名
-
密码。分别为发件人在邮件服务器上的注册名称和密码
email.setAuthentication(
"ppzhguy"
,
"XXXXX"
);
email.setSubject(
"
图片
"
);
email.setMsg(
"
这是你想要的图片
!"
);
// add the attachment
email.attach(attachment);
// send the email
email.send();
}
}