Apache Commons Email对JavaMail进行了封装,从而简化其操作,使用起来非常方便。
到 Apache 官方网站下载所需要的包,在 http://commons.apache.org/ 下的 Email 子项目中下载它的最新版本,将其引入到工程中,一般引他的核心包 commons-email-1.1.jar 就足够了。下面是我写的一个简单的小例子,已经经过测试:
- package com.why.email;
- import java.io.File;
- import org.apache.commons.mail.EmailAttachment;
- import org.apache.commons.mail.EmailException;
- import org.apache.commons.mail.HtmlEmail;
- import org.apache.commons.mail.SimpleEmail;
- import org.apache.commons.mail.MultiPartEmail;
- public class SendMail {
- /**
- * 利用 Apache Commons Email 组件(commons-email-1.1)发送邮件
- * @param args
- */
- public static void main(String[] args) {
- // SimpleEmail email = new SimpleEmail();//如果发送普通的邮件,使用这个类就可以了
- MultiPartEmail email = new MultiPartEmail();//如果要发送带附件的邮件,需使用这个类
- // HtmlEmail email = new HtmlEmail();//可以发送html类型的邮件
- email.setHostName("smtp.163.com");//指定要使用的邮件服务器
- email.setAuthentication("1985why001", "******");//使用163的邮件服务器需提供在163已注册的用户名、密码
- email.setCharset("UTF-8");
- try {
- email.setFrom("1985why001@163.com");//设置发件人
- email.addTo("wuhy39@chinaunicom.cn");//设置收件人
- email.setSubject("测试邮件");//设置主题
- email.setMsg("测试邮件测试邮件测试邮件");//设置邮件内容
- File file = new File("C:\\testEmail.txt");//要发送的附件
- EmailAttachment attachment = new EmailAttachment();
- attachment.setPath(file.getPath());
- attachment.setName(file.getName());
- attachment.setDescription("附件描述");
- attachment.setDisposition(EmailAttachment.ATTACHMENT);//附件的类型
- email.attach(attachment);
- email.send();
- System.out.println("发送成功");
- } catch (EmailException e) {
- e.printStackTrace();
- }
- }
- }