`
wxiaoneng
  • 浏览: 8373 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

javamail使用方法

阅读更多
下面是一段用Java mail API发带附件邮件的方法,附件是读的硬盘上的文件,你参考下吧  
String message="Mail send OK!";  
  Session session=null;  
  Properties props = System.getProperties();  
  props.put("mail.smtp.host", smtpServer);  
  if(ifAuth){ //the mail server ask auth  
  props.put("mail.smtp.auth","true");  
  MailAuth smtpAuth=new MailAuth(username,password);  
  session=Session.getDefaultInstance(props, smtpAuth);  
  }else{  
  props.put("mail.smtp.auth","false");  
  session=Session.getDefaultInstance(props, null);  
  }  
  session.setDebug(isDebug);  

  Transport trans = null;
  try {  
  Message msg = new MimeMessage(session);  
  try{  
  Address from_address;
  if (displayName == null)
  from_address = new InternetAddress(from);
  else 
  from_address = new InternetAddress(from, displayName);
  msg.setFrom(from_address);  
  }catch(java.io.UnsupportedEncodingException e){  
  e.printStackTrace();  
  }  
  //InternetAddress[] address={new InternetAddress(to)};  
  InternetAddress[] address= InternetAddress.parse(to);  
  msg.setRecipients(Message.RecipientType.TO,address);  
  msg.setSubject(subject);  
   
  if (cc != null) {
  InternetAddress[] ccAddr= InternetAddress.parse(cc);  
  msg.setRecipients(Message.RecipientType.CC, ccAddr);
  }
   
   
  Multipart mp = new MimeMultipart();  
  MimeBodyPart mbp = new MimeBodyPart();  
  //mbp.setContent(content.toString(), "text/html"); //;charset=gb2312");  
  mbp.setContent(content.toString(), "text/plain"); //;charset=gb2312");  
  mp.addBodyPart(mbp);  
  if(!file.isEmpty()){//have attachment
  Enumeration efile=file.elements();  
  while(efile.hasMoreElements()){  
  mbp=new MimeBodyPart();  
  filename=efile.nextElement().toString(); //get each attachment name  
  FileDataSource fds=new FileDataSource(filename); //get the file data source
  mbp.setDataHandler(new DataHandler(fds)); //get the attachment content  
  mbp.setFileName(fds.getName()); //get the file name and include to content
  mp.addBodyPart(mbp);  
  }  
  file.removeAllElements();  
  }  
  msg.setContent(mp); // add the Multipart into mail  
  msg.setSentDate(new Date()); //set the date in mail header  

  // send  
  msg.saveChanges();  
  trans = session.getTransport("smtp");  
  trans.connect(smtpServer, username, password);  
  trans.sendMessage(msg, msg.getAllRecipients());  
  trans.close();  
   
  }catch(AuthenticationFailedException e){  
  map.put("state", "failed");  
  message="Mail send fail!Error caused:auth error!\n";  
  e.printStackTrace();  
  }catch (MessagingException e) {  
  message="Mail send fail!Error caused:\n"+e.getMessage();  
  map.put("state", "failed");  
  e.printStackTrace();  
  Exception ex = null;  
  if ((ex = e.getNextException()) != null) {  
  System.out.println(ex.toString());  
  ex.printStackTrace();  
  }  
  }
分享到:
评论

相关推荐

    javamail使用的jar包

    JavaMail 的使用通常需要依赖一组特定的 JAR 包,这些包包含了实现 SMTP、POP3、IMAP 等邮件协议的类和方法。 在描述中提到的 "javamail-1.4.4" 可能是指 JavaMail API 的一个版本号,这通常是一个包含所有必要组件...

    javamail使用demo示例

    这个"javamail使用demo示例"是JavaMail官方提供的一个实例集合,旨在帮助开发者更好地理解和应用JavaMail库。下面我们将深入探讨JavaMail的核心概念、主要功能以及如何使用这些示例代码。 一、JavaMail核心概念 1....

    使用JAVAMail代发邮件

    使用 JavaMail 代发邮件 使用 JavaMail 库可以轻松地在 Java 应用程序中发送电子邮件。JavaMail 是一个 Java API,用于在 Java 应用程序中发送和接收电子邮件。它提供了一个抽象层,允许开发者使用不同的电子邮件...

    javamail(带界面的javamail)

    然后,你可以使用 Transport 类的 send 方法来发送 Message 对象,该对象包含了邮件的所有内容,如发件人、收件人、主题和正文。如果邮件有附件,可以通过 MimeMessage 类和 MimeBodyPart 类来添加。 对于邮件接收...

    JavaMail基础教程(API)

    这个基础教程将引导你逐步了解如何使用JavaMail API进行邮件操作。 1. **JavaMail简介** JavaMail API是Java平台上处理邮件的核心库,它包含了多个接口和类,如`Session`, `Message`, `Multipart`和`Address`等,...

    JavaMail+JAF+JavaMail_API+JavaMail_API详解

    JavaMail API documentation.rar可能是JavaMail API的官方英文文档,包含了详细的类、接口和方法说明,以及使用示例。这对于开发者理解和使用JavaMail API进行邮件编程非常关键,因为它提供了全面的技术参考。 ...

    JavaMail使用实例

    这个实例包含了使用JavaMail进行邮件操作所需的全部资源,包括配置和服务的设置,以及具体的代码示例。 首先,JavaMail的核心库是`javax.mail`和`com.sun.mail`,它们提供了邮件协议(如SMTP、POP3、IMAP)的实现。...

    JavaMail-1.5 API

    使用JavaMail API可以编写出跨平台的邮件处理应用,而且由于Java的跨平台特性,使用JavaMail API开发的邮件应用可以部署在Windows、Linux、Unix、Mac OS等多种操作系统上。 文件中提到的“Evaluation Purposes”和...

    使用jsp实现javaMail邮箱功能开发

    - 使用`Transport`类的`send()`方法发送`MimeMessage`。 - 这个过程中,可能还需要处理SSL/TLS安全连接,特别是当SMTP服务器要求加密连接时。 5. JSP中的表单处理: 用户输入的邮件信息(如收件人、主题和正文)...

    javaMail代码

    下面将详细阐述 JavaMail 的核心概念、使用方法以及提供的功能。 首先,`JavaMail 开发手册.pdf` 提供了官方的详细文档,对于学习和理解 JavaMail 的使用至关重要。手册通常会涵盖以下内容: 1. **安装与配置**:...

    javaMail API 跟 javaMail.jar包

    JavaMail API是Java EE的一部分,但也可以在Java SE环境中使用。`javaMail.jar`是JavaMail API的实现库,包含了实现邮件协议(如SMTP、POP3、IMAP)的类和方法。 JavaMail API的核心概念包括以下几个部分: 1. **...

    javamail.jar,javamail资源包

    使用JavaMail发送邮件的基本步骤如下: 1. 创建一个`Properties`对象,设置SMTP服务器的属性,如主机名、端口、身份验证等。 2. 使用`Session.getInstance()`创建一个`Session`对象,传入上面的属性。 3. 创建一个`...

    邮箱验证--javamail的简单使用

    本篇文章将详细探讨JavaMail的简单使用,包括如何设置、配置以及实际发送邮件。 一、JavaMail的环境配置 在使用JavaMail之前,首先需要将其添加到项目的类路径中。这通常通过Maven或Gradle的依赖管理来实现。如果...

    JavaMail 1.5.2

    3. **MIME (Multipurpose Internet Mail Extensions)**:JavaMail 使用 MIME 标准来处理邮件中的多种类型的数据,如文本、图像、附件等。MIME 支持创建复杂的多部分消息,包括嵌入的图片和其他资源。 4. **Session ...

    JavaMail相关jar包

    本篇文章将深入探讨JavaMail的核心概念、关键组件以及如何使用这两个特定的jar包——`jaf-1_1_1.zip`和`javamail1_4_7.zip`。 首先,让我们了解JavaMail的基本组件: 1. **JavaMail API**:这是JavaMail的核心部分...

    JavaMail使用实例及所需jar包

    JavaMail是一种广泛使用的Java库,它允许开发人员在Java应用程序中发送和接收电子邮件。这个教程是为初学者设计的,旨在帮助他们理解如何利用JavaMail API进行邮件操作。压缩包包含两个关键部分:JavaMail的实例代码...

    JavaMail组件简单应用

    - **异步发送**:使用JavaMail的非阻塞API或线程池实现邮件的并发发送。 - **邮件模板**:结合模板引擎(如FreeMarker)创建动态邮件内容。 - **邮件验证**:使用JavaMail的验证机制检查邮件地址的有效性。 6. *...

    javamail使用的2个jar包(activation.jar+commons-email-1.1.jar)

    使用Apache Commons Email,你可以避免直接与JavaMail API交互时的复杂性,而是通过简单的API调用来实现邮件发送。 要使用这两个jar包进行邮件发送,首先需要将它们添加到项目的类路径中。在传统的Java项目中,这...

    javamail_jar+使用方法(demo)

    JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口。它是Sun发布的用来处理email的API。它可以方便地执行一些常用的邮件传输。我们可以基于JavaMail开发出类似于Microsoft Outlook的应用程序。

Global site tag (gtag.js) - Google Analytics