java发送邮件带附件

http://blog.csdn.net/hfmbook/article/details/28275367

  1. import java.io.File;  
  2. import java.util.Date;  
  3. import java.util.Properties;  
  4.   
  5. import javax.activation.DataHandler;  
  6. import javax.activation.DataSource;  
  7. import javax.activation.FileDataSource;  
  8. import javax.mail.BodyPart;  
  9. import javax.mail.Message;  
  10. import javax.mail.Multipart;  
  11. import javax.mail.Session;  
  12. import javax.mail.Transport;  
  13. import javax.mail.internet.InternetAddress;  
  14. import javax.mail.internet.MimeBodyPart;  
  15. import javax.mail.internet.MimeMessage;  
  16. import javax.mail.internet.MimeMultipart;  
  17.   
  18. /*** 
  19.  * 创建日期:2014年6月3日 
  20.  * 作者:黄飞 
  21.  * 邮箱:[email protected] 
  22.  * 博客地址:http://my.csdn.net/hfmbook 
  23.  * */  
  24. public class AnnexMailService {  
  25.       
  26.     public static boolean sendMail(String subject, String toMail,  
  27.             String content, String... files) {  
  28.         boolean isFlag = false;  
  29.         try {  
  30.   
  31.             String smtpFromMail = "[email protected]";  //账号  
  32.             String pwd = "huangfei"//密码  
  33.             int port = 25//端口  
  34.             String host = "smtp.qq.com"//端口  
  35.   
  36.             Properties props = new Properties();  
  37.             props.put("mail.smtp.host", host);  
  38.             props.put("mail.smtp.auth""true");  
  39.             Session session = Session.getDefaultInstance(props);  
  40.             session.setDebug(false);  
  41.   
  42.             MimeMessage message = new MimeMessage(session);  
  43.             try {  
  44.                 message.setFrom(new InternetAddress(smtpFromMail, "QQ邮件测试"));  
  45.                 message.addRecipient(Message.RecipientType.TO,  
  46.                         new InternetAddress(toMail));  
  47.                 message.setSubject(subject);  
  48.                 message.addHeader("charset""UTF-8");  
  49.                   
  50.                 /*添加正文内容*/  
  51.                 Multipart multipart = new MimeMultipart();  
  52.                 BodyPart contentPart = new MimeBodyPart();  
  53.                 contentPart.setText(content);  
  54.   
  55.                 contentPart.setHeader("Content-Type""text/html; charset=GBK");  
  56.                 multipart.addBodyPart(contentPart);  
  57.                   
  58.                 /*添加附件*/  
  59.                 for (String file : files) {  
  60.                     File usFile = new File(file);  
  61.                     MimeBodyPart fileBody = new MimeBodyPart();  
  62.                     DataSource source = new FileDataSource(file);  
  63.                     fileBody.setDataHandler(new DataHandler(source));  
  64.                     sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();  
  65.                     fileBody.setFileName("=?GBK?B?"  
  66.                             + enc.encode(usFile.getName().getBytes()) + "?=");  
  67.                     multipart.addBodyPart(fileBody);  
  68.                 }  
  69.   
  70.                 message.setContent(multipart);  
  71.                 message.setSentDate(new Date());  
  72.                 message.saveChanges();  
  73.                 Transport transport = session.getTransport("smtp");  
  74.   
  75.                 transport.connect(host, port, smtpFromMail, pwd);  
  76.                 transport.sendMessage(message, message.getAllRecipients());  
  77.                 transport.close();  
  78.                 isFlag = true;  
  79.             } catch (Exception e) {  
  80.                 isFlag = false;  
  81.             }  
  82.         } catch (Exception e) {  
  83.             e.printStackTrace();  
  84.         }  
  85.         return isFlag;  
  86.     }  
  87.   
  88.     public static void main(String[] args) {  
  89.         AnnexMailService.sendMail("你好""[email protected]""朋友好久不见" ,   
  90.                 "C:/中文.jpg");  
  91.     }  
  92.       
  93. }  


 

猜你喜欢

转载自hunan.iteye.com/blog/2361413