`
wxiaoneng
  • 浏览: 8101 次
  • 性别: 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基础教程(API)

    JavaMail基础教程(API),这是一个doc文档,手把手的叫你使用JavaMail开发收发邮件

    javamail 中文API文档

    javamail中文API文档 方法解释详细。

    javamail_jar+使用方法(demo)

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

    javamail使用的两个jar包

    这里提供了javamail使用的两个jar包,希望对学习javamail的人能够提供帮助,当然使用的方法是把这两个jar包放到.classpath中

    JavaMail使用实例及所需jar包

    这个教程很适合初学者学习使用,压缩包里包含有: (1)使用JavaMail的两个实例,实例中有测试用的main方法,简单易懂,经本人测试有效。 (2)使用JavaMail所需的所有jar包。

    JavaMail邮箱验证实现

    使用JavaMail对用户注册,重置密码实现邮箱验证.

    JavaMail jar包

    使用方法可以查看我的“使用 JavaMail 发送电子邮件,适合多种电子邮箱地址充当发送者”一文。

    javamail.jar

    javamail发送邮件所需jar包。 开发的过程中,运行时可能会出现以下的错误: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream 原因是jar包版本不统一,解决方法如下...

    利用javamail api实现的邮件发送类

    利用JavaMail API来发送Email的工具类 支持单发,群发及无限制数量的附件功能,并同时支持简单邮件和HTML两种格式的邮件内容 支持抄送,密送功能 具体使用参见其mail方法的使用示例

    使用javamail包收发中文邮件的编码,解码问题以及解决方法.pdf

    使用javamail包收发中文邮件的编码,解码问题以及解决方法.pdf

    使用javamail包收发中文邮件的编码,解码问题以及解决方法扫描.pdf

    使用javamail包收发中文邮件的编码,解码问题以及解决方法扫描.pdf

    javamail发送邮件(带附件)

    该资源是一个javamail发送邮件的例子,里面集成了别人的文件发送的功能,单次发送邮件只能上传一个附件。是一个测试方法,拿过来改一改邮件的地址和密码就可以使用了

    基于Javamail的邮件收发系统软件源码+设计文档说明资料.zip

    越来越多的人在使用它。而且用它的人数势必会继续增加。本文介绍了Javamail邮件收发系统的开发背景,对国内外现有的多种成熟的电子邮件系统进行分析和比较,总结出它们的优缺点,对Javamail技术进行深入研究,提出并...

    javamail实例

    javamail使什么,如何用javamail发送邮件,该jar在java代码中如何编写,而且还包含如何使用的具体方法和代码。

    javaMail简易封装实例

    简易封装的javaMail 支持同时发送信息与附件,发件人,发件时间,主题,内容,附件等等 内涵详细的说明与测试使用方法

    使用JavaMail发送邮件保证成功的方法

    JavaMail是利用现有的邮件账户发送邮件的工具,使用过JavaMail的api发送邮件的人可能会有这样一个疑惑:我...那么通过下面这篇文章大家一起来看看使用JavaMail保证邮件发送成功的方法,有需要的朋友们可以参考借鉴。

    javamail学习

    javamail开发,安装方法,附件,图片等等发送

    Java使用JavaMail发送邮件的方法

    主要介绍了Java使用JavaMail发送邮件的方法,结合实例形式分析了Java使用JavaMail实现邮件发送的具体步骤与相关实现代码,需要的朋友可以参考下

    Javamail,jar包

    Javamail,jar包,通过访问jar包内Test.main(new String())的方法可以直接进行邮件发送

    JavaMail:JavaMail测试,使用Java语言实现发送邮件的功能,程序基于JavaMail提供的方法实现

    JavaMail项目介绍 程序功能 用户注册,通过邮箱激活账号 程序下载: 程序简要说明: 用户注册页面,填写基本信息包括用户名密码邮箱等,点击注册向用户邮箱发送激活邮件,点击邮件中的链接实现激活账号。 具体实现:...

Global site tag (gtag.js) - Google Analytics