`
liyiye
  • 浏览: 425179 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

javamail的一个例子

 
阅读更多

import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
/**
 * <p>Title: 使用javamail发送邮件</p>
 * <p>Description: 演示如何使用javamail包发送电子邮件。这个实例可发送多附件</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Filename: Mail.java</p>
 * @version 1.0
 */
public class Mail {
String to = "";//收件人
String from = "";//发件人
String host = "";//smtp主机
String username = "" ;
String password = "" ;
String filename = "";//附件文件名
String subject = "";//邮件主题
String content = "";//邮件正文
Vector file = new Vector();//附件文件集合
/**
 *<br>方法说明:默认构造器
 *<br>输入参数:
 *<br>返回类型:
 */
public Mail(){
}
/**
 *<br>方法说明:构造器,提供直接的参数传入
 *<br>输入参数:
 *<br>返回类型:
 */
public Mail(String to,String from,String smtpServer,String username,String password,String subject,String content){
 this.to = to;
 this.from = from;
 this.host = smtpServer;
 this.username = username;
 this.password = password;
 this.subject = subject;
 this.content = content;
}
/**
 *<br>方法说明:设置邮件服务器地址
 *<br>输入参数:String host 邮件服务器地址名称
 *<br>返回类型:
 */
public void setHost(String host){
 this.host = host;
}
/**
 *<br>方法说明:设置登录服务器校验密码
 *<br>输入参数:
 *<br>返回类型:
 */
public void setPassWord(String pwd){
 this.password = pwd;
}
/**
 *<br>方法说明:设置登录服务器校验用户
 *<br>输入参数:
 *<br>返回类型:
 */
public void setUserName(String usn){
 this.username = usn;
}
/**
 *<br>方法说明:设置邮件发送目的邮箱
 *<br>输入参数:
 *<br>返回类型:
 */
public void setTo(String to){
 this.to = to;
}
/**
 *<br>方法说明:设置邮件发送源邮箱
 *<br>输入参数:
 *<br>返回类型:
 */
public void setFrom(String from){
 this.from = from;
}
/**
 *<br>方法说明:设置邮件主题
 *<br>输入参数:
 *<br>返回类型:
 */
public void setSubject(String subject){
 this.subject = subject;
}
/**
 *<br>方法说明:设置邮件内容
 *<br>输入参数:
 *<br>返回类型:
 */
public void setContent(String content){
 this.content = content;
}
/**
 *<br>方法说明:把主题转换为中文
 *<br>输入参数:String strText
 *<br>返回类型:
 */
public String transferChinese(String strText){
 try{
  strText = MimeUtility.encodeText(new String(strText.getBytes(), "GB2312"), "GB2312", "B");
 }catch(Exception e){
  e.printStackTrace();
 }
 return strText;
}
/**
 *<br>方法说明:往附件组合中添加附件
 *<br>输入参数:
 *<br>返回类型:
 */
public void attachfile(String fname){
 file.addElement(fname);
}
/**
 *<br>方法说明:发送邮件
 *<br>输入参数:
 *<br>返回类型:boolean 成功为true,反之为false
 */
public boolean sendMail(){
//构造mail session
 Properties props = System.getProperties();
 props.put("mail.smtp.host",host);
 props.put("mail.smtp.auth","true");
 Session session=Session.getDefaultInstance(props, new Authenticator(){
  public PasswordAuthentication getPasswordAuthentication(){
  return new PasswordAuthentication(username,password);
  }
 });
 
 try {
  //构造MimeMessage 并设定基本的值
  MimeMessage msg = new MimeMessage(session);
  msg.setFrom(new InternetAddress(from));
  InternetAddress[] address={new InternetAddress(to)};
  msg.setRecipients(Message.RecipientType.TO,address);
  subject = transferChinese(subject);
  msg.setSubject(subject);
 
  //构造Multipart
  Multipart mp = new MimeMultipart();
 
  //向Multipart添加正文
  MimeBodyPart mbpContent = new MimeBodyPart();
  mbpContent.setText(content);
  //向MimeMessage添加(Multipart代表正文)
  mp.addBodyPart(mbpContent);
 
  //向Multipart添加附件
  Enumeration efile=file.elements();
  while(efile.hasMoreElements()){
 
   MimeBodyPart mbpFile = new MimeBodyPart();
   filename=efile.nextElement().toString();
   FileDataSource fds = new FileDataSource(filename);
   mbpFile.setDataHandler(new DataHandler(fds));
   mbpFile.setFileName(fds.getName());
   //向MimeMessage添加(Multipart代表附件)
   mp.addBodyPart(mbpFile);
}
 
  file.removeAllElements();
  //向Multipart添加MimeMessage
  msg.setContent(mp);
  msg.setSentDate(new Date());
  //发送邮件
  Transport.send(msg);
 
 } catch (MessagingException mex) {
  mex.printStackTrace();
  Exception ex = null;
  if ((ex=mex.getNextException())!=null){
   ex.printStackTrace();
  }
  return false;
 }
 return true;
 }
}//end

分享到:
评论

相关推荐

    javamail例子

    在提供的压缩包文件“javamail例子”中,很可能包含了一个完整的 JavaMail 示例项目,你可以通过运行其中的代码来实践邮件发送的过程,这将有助于加深理解和掌握。记得查看博客文章...

    javamail接收邮件例子

    javamail接收邮件例子,我稍微改动了一下,有些错误和异常抛出了

    javamail的一个例子以及javamail.ar包

    JavaMail 是一个强大的开源库,用于在Java应用程序中处理电子邮件。这个例子展示了如何使用JavaMail API从163邮箱向QQ邮箱发送邮件。在Java开发中,JavaMail API提供了丰富的功能,包括创建、读取、发送和管理电子...

    JavaMail 1.6.0 的官方例子

    JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送、接收和管理。在 JavaMail 1.6.0 版本中,它提供了一系列官方示例,帮助开发者更好地理解和应用这个库。这个版本适用于 JDK 1.7 及以上版本,推荐使用最新的...

    用Java类实现JavaMail发送邮件的例子

    在Java编程中,发送电子邮件是一个常见的任务,通常通过JavaMail API来实现。JavaMail是一个开放源代码的API,它允许开发者在Java应用程序中处理邮件协议,如SMTP、POP3和IMAP。在这个例子中,我们将详细探讨如何...

    javamail发送邮件例子

    JavaMail 是一个开源库,它提供了在 Java 应用程序中发送和接收电子邮件的功能。它扩展了 Java EE 的 javax.mail 包,提供了更强大的邮件处理能力。在标题和描述中提到的,我们将讨论如何使用 JavaMail 实现发送邮件...

    JavaMail发送邮件的例子

    例如,你可以创建一个名为`SendMailAction`的类,其中包含一个`execute()`方法,这个方法使用JavaMail API发送邮件。 如果你的项目中包含一个名为`mySendMail`的类或文件,这可能是一个实现邮件发送的示例代码。这...

    JavaMail很好的例子

    在压缩包"JavaMail例子"中,可能包含了一个或多个演示如何执行这些操作的Java源代码文件。通过阅读和运行这些示例,开发者可以直观地了解JavaMail API的使用方法,从而在自己的项目中实现邮件功能。 总之,JavaMail...

    javamail例子——简单好用

    javamail例子——简单好用 可以直接发电子邮件 1.当工程是java EE 5的时候 在工程里面应该删除java EE 5里面相对应的 jar 路径在 第一个问题就是删除Java EE 5 Libraries/javaee.jar/mail。 第二个问题就是删除Java...

    JavaMail发送和接受邮件的一个小例子

    总的来说,JavaMail是一个强大的工具,它允许开发者用Java编写功能丰富的邮件应用程序。通过理解`Session`、`Message`、`Store`、`Folder`以及`MimeMultipart`和`MimeBodyPart`的用法,你可以构建出能够处理各种邮件...

    javamail架包、例子

    一个简单的 JavaMail 发送邮件的例子: ```java import javax.mail.*; import javax.mail.internet.*; public class EmailExample { public static void main(String[] args) throws Exception { // 设置邮件...

    JavaMail发送电子邮件例子

    JavaMail 是一个开源库,广泛用于Java环境中发送和接收电子邮件。这个例子将深入解析如何使用JavaMail API来实现电子邮件的发送功能。 首先,你需要在项目中引入JavaMail的相关依赖。通常,这会是Maven的pom.xml...

    javaMail例子

    JavaMail 是一个 Java API,允许开发者在 Java 应用程序中发送和接收电子邮件。这个例子展示了如何使用 JavaMail 发送一封简单的文本邮件。下面将详细解释这个 JavaMail 示例中的关键知识点: 1. **导入的库**:...

    基于JavaMail的Java邮件发送小例子

    JavaMail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件。这个小例子将向我们展示如何使用JavaMail API发送电子邮件。在这个过程中,我们将探讨以下几个关键知识点: 1. **JavaMail API**: 这是一个...

    javamail 包含的包及简单例子

    JavaMail 是一个开源的 Java API,它允许开发者在 Java 应用程序中发送和接收电子邮件。这个API提供了与多种邮件服务器交互的能力,包括SMTP、POP3和IMAP协议。在"javamail 包含的包及简单例子"中,我们主要会探讨...

    javamail发送邮件和附件一个例子,直接eclipse运行

    JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。这个例子将向你展示如何使用JavaMail API发送带有附件的邮件,并且可以直接在Eclipse集成开发环境中运行。在开始之前,确保你的项目已经导入...

    JAVAMAIL例子

    在“JAVAMAIL例子”中,我们将探讨如何使用JavaMail API来实现邮件的发送功能。下面我们将深入讲解相关知识点。 1. **JavaMail API介绍** JavaMail API 是一套Java API,它为开发人员提供了一组接口和类,用于在...

    javamail例子以及jar包

    JavaMail 是一个开源的 Java API,它允许程序员通过编程方式在 Java 应用程序中发送和接收电子邮件。这个API提供了一套完整的邮件处理接口,包括SMTP(简单邮件传输协议)、POP3(邮局协议版本3)和IMAP(因特网消息...

Global site tag (gtag.js) - Google Analytics