`

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.  * 邮箱:834865081@qq.com 
  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 = "2603653389@qq.com";  //账号  
  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("你好""834865081@qq.com""朋友好久不见" ,   
  90.                 "C:/中文.jpg");  
  91.     }  
  92.       
  93. }  


 

 

分享到:
评论

相关推荐

    java 邮件发送 可带附件

    Java邮件发送功能是Java开发中常见的一项...通过以上步骤和代码,你可以实现使用Java发送带有附件的邮件。不过,实际开发中,你可能还需要考虑其他因素,如使用模板引擎生成邮件内容、批量发送邮件、错误重试策略等。

    java发邮件 带附件 多媒体邮件

    根据提供的文件信息,本文将详细解释如何使用Java发送带有附件及多媒体内容(如图片)的电子邮件。本示例代码及说明适用于希望利用Java Mail API发送包含丰富格式内容邮件的开发者。 ### Java 发送带有附件及多媒体...

    java 发送邮件带附件

    发送邮件到指定邮箱,可以携带附件,html,实现登录验证等功能。

    java 发邮件带excel附件,以流的形式发送附件,不生成excel文件

    现在,我们有了Excel数据的字节数组,可以将其作为邮件附件添加: ```java import javax.mail.util.ByteArrayDataSource; import javax.activation.DataSource; // 创建DataSource对象 DataSource dataSource = ...

    java 发送邮件(带附件)

    java 发送邮件(带附件) 所有源码 里边 有jar包 有程序 解决: 1.发送邮件问题 2.发送图片问题 3.发送附件问题 4.发送html格式问题 哇 这东西 只要下载就直接可以运行.伙伴们赶紧微观吧.

    带附件发邮件java

    带邮件发送邮件java实现简单简约适合新手

    java Exchange收发邮件加附件

    以下是一个简单的发送邮件带附件的Java代码示例: ```java ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1); ExchangeCredentials credentials = new WebCredentials(...

    java 发送附件mail

    总结一下,Java发送带有附件的邮件涉及到JavaMail API的使用,包括配置SMTP服务器、创建邮件对象、添加内容和附件,以及发送邮件等步骤。理解这些步骤和相关类的作用是实现此功能的关键。在处理不同类型的邮件时,...

    Java实现发送邮件(带附件)功能

    Java代码实现发送邮件功能,支持发送带有附件的。需要直接拿走

    java发邮件 java发email

    Java发送电子邮件是一个常见的任务,尤其在自动化通知、报表发送或者用户验证等场景中。下面将详细解释如何使用Java来发送邮件,并提供相关的知识点。 首先,Java通过JavaMail API提供了发送邮件的功能。JavaMail ...

    JavaMail邮件发送(带附件)

    JavaMail邮件发送(带附件)

    java生成excle邮件附件发送

    java生成excle文件不需要导出直接通过邮件附件发送java生成excle文件不需要导出直接通过邮件附件发送java生成excle文件不需要导出直接通过邮件附件发送java生成excle文件不需要导出直接通过邮件附件发送

    利用Java发送邮件(含附件)的例子

    总结一下,Java发送带附件的邮件涉及到的主要知识点有: - 配置文件的读取与解析。 - JavaMail API的使用,包括`Session`、`MimeMessage`、`Multipart`、`MimeBodyPart`等类。 - SMTP协议的使用,包括身份验证和邮件...

    JavaMail(3)——发送带附件的邮件.docx

    在JavaMail中,发送带有附件的邮件涉及到对MIME(Multipurpose Internet Mail Extensions)标准的理解和使用。MIME扩展了邮件协议,允许在邮件中包含多媒体内容,如图片、文档、音频或视频文件等。 在JavaMail中,`...

    java发送邮件以及附件 复制直接测试

    根据提供的文件信息,我们可以提取并总结出以下关于Java发送邮件及附件的相关知识点: ### Java发送邮件及附件 #### 一、概述 在Java中发送邮件通常涉及到JavaMail API的使用,该API允许开发者通过简单的代码实现...

    java邮件发送(含附件发送)源码

    Java邮件发送技术是Java开发中一个实用且常见的功能,它允许开发者通过编程方式发送电子邮件,包括文本、HTML格式的正文以及附件。在本教程中,我们将深入探讨如何使用JavaMail API来实现邮件发送,特别是含附件的...

    Java 发送邮件,附件从流中读取,数据生成excel并输出到流中

    当有需求,需要把当天的报表文件发送给指定邮箱又不小生成多余的...实现过程是先将数据库里的数据,导出excel文件输出流中(注:不是直接生成文件),发送邮件时附件内容直接从前面excel文件输出流中获取,然后发送邮件

    java开发实现163邮件发送(支持附件

    同时,为了提高代码的可维护性和测试性,可以考虑使用依赖注入来管理`Session`对象,以及使用策略模式处理不同类型的邮件内容(如纯文本、HTML或带附件的邮件)。 总结,通过JavaMail API和163邮箱的SMTP服务,我们...

    Java发送带模版的邮件示例

    在Java编程中,发送带有模板的邮件是一项常见的任务,尤其对于企业级应用来说,通过电子邮件进行通知、报告或客户服务是必不可少的。JavaMail API提供了一种标准的方式来处理邮件的发送,而结合模板技术,我们可以...

    java实现邮件发送(三种发送方式都有)

    Java发送邮件是软件开发中常见的需求,特别是在自动化通知、用户验证和客户服务等方面。在这个主题下,我们将探讨三种Java实现邮件发送的方式,以及如何通过提供的代码和参考资料进行实践。 首先,让我们了解一下...

Global site tag (gtag.js) - Google Analytics