所需要引入的包:commons-email-1.2.jar(apache官网下载),mail.jar(sun官网下载),activation.jar(sun官网下载,如果你使用的jdk是1.6以上,这个包就可以不下载了,因为jdk1.6已经包括了)
直接上代码吧。
PropertiesUtils类:
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.Properties;
- /**
- *@author liudonggan Email:ldg123456@sina.com
- *@date 2011-7-20 上午11:29:14
- *@version v1.0
- **/
- public class PropertiesUtils {
- private static InputStream inputStream=null;
- public static String getProperties(String propertyName) throws Exception
- {
- String _propertyName="";
- inputStream=PropertiesUtils.class.getClassLoader().getResourceAsStream("config.properties");
- Properties p = new Properties();
- try {
- p.load(inputStream);
- } catch (IOException e1) {
- inputStream.close();
- }
- _propertyName=p.get(propertyName).toString();
- inputStream.close();
- return _propertyName;
- }
- }
MailUtils类:
- import java.io.File;
- import java.util.ArrayList;
- import java.util.List;
- import org.apache.commons.mail.EmailAttachment;
- import org.apache.commons.mail.MultiPartEmail;
- import com.ys.product.bean.UserEmail;
- /**
- *@author liudonggan Email:ldg123456@sina.com
- *@date 2011-7-20 上午10:49:41
- *@version v1.0
- **/
- public class MailUtils {
- /**
- * sendMail 方法
- * <p>方法说明:</p>
- * @param path附件路迳
- * @param subject邮件主题
- * @param msg邮件内容
- * @throws Exception
- * @return void
- * @author liudonggan Email:ldg123456@sina.com
- * @date 2011-7-20 上午11:39:37
- */
- public void sendMail(String path,List<UserEmail> emails,String subject,String msg) throws Exception
- {
- MultiPartEmail email = new MultiPartEmail();
- //SimpleEmail email = new SimpleEmail();
- // 设置邮件编码
- email.setCharset("UTF-8");
- // 设置邮件服务器
- email.setHostName(PropertiesUtils.getProperties("mail.smtp"));
- // 设置登录邮件服务器用户名和密码
- email.setAuthentication(PropertiesUtils.getProperties("mail.email"), PropertiesUtils.getProperties("mail.pwd"));
- // 添加收件人
- for(UserEmail _email:emails)
- {
- email.addTo(_email.getEmailName(), _email.getTitle());
- }
- // 设置发件人
- email.setFrom(PropertiesUtils.getProperties("mail.email"), "liudonggan");
- // 设置邮件标题
- email.setSubject(subject);
- // 设置邮件正文内容
- email.setMsg(msg);
- // 要发送的附件
- EmailAttachment attachment = new EmailAttachment();
- File file = new File(path);
- attachment.setPath(file.getPath());
- attachment.setName(file.getName());
- // 设置附件描述
- attachment.setDescription(subject);
- // 设置附件类型
- attachment.setDisposition(EmailAttachment.ATTACHMENT);
- // 添加附件
- email.attach(attachment);
- // 发送邮件
- email.send();
- }
- public static void main(String[] arg) throws Exception
- {
- MailUtils mail=new MailUtils();
- UserEmail _email=new UserEmail();
- _email.setEmailName("20493351@qq.com");
- _email.setTitle("XX标题");
- List<UserEmail> emails=new ArrayList<UserEmail>();
- emails.add(_email);
- mail.sendMail("c:\\test.pdf",emails,"XX标题","内容");
- }
- }
本文介绍如何使用Apache Commons Email库发送包含附件的邮件。通过示例代码展示了配置邮件服务器、设置邮件内容及附件的过程。

2699

被折叠的 条评论
为什么被折叠?



