用JavaMail发送带附件的Email

莫家紫翼

莫家紫翼

2016-02-19 15:59

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享用JavaMail发送带附件的Email,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

  随着网络应用的不断推广,电子邮件越来越多的被大家使用。 !-- frame contents -- !-- /frame contents -- 虽然我们往往将电子邮件与 FoxMail、Outlook 这样的电子邮件客户端联系起来,但是往往我们也需要自己编程实现发送接收邮件,例如在一个网站注册用户后网站发出的回执mail,或者在网络购物的时候,在完成订单后的几分钟之内发送确认电子邮件。对于这样的需求,我们不能通过已有的邮件客户端而需要自己编写邮件发送或者处理程序。在这里向大家讲解一下如何利用JavaMail来实现邮件的收发。

  注重:本文只打算讨论JavaMail收发带附件邮件的一些技巧,所以只是给出部分代码。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  1.发送带附件的邮件

  我们平时发送的邮件主要可以分解成2大部分,一个是发信人,接信人,主题等邮件标头,另外一部分是邮件内容,它包括了邮件的附件。我们在发送普通邮件的时候content设置的类型是"text/Html",带上附件后,我们需要把content的类型设置成Multipart,这时content包括了附件和"text/html"类型的正文。下面的这个告诉大家如何把附件放置到邮件中。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  private Multipart getMultipart() throws MessagingException,UnsupportedEncodingException
  {
   MimeMultipart mp = new MimeMultipart();
   try
    {
   //设置content里的内容
   MimeBodyPart contentMbp = new MimeBodyPart();
   //请指定字符集,否则会是乱码
   contentMbp.setContent(_mailContent.getContent(), "text/html; charset=GB2312");
   mp.addBodyPart(contentMbp); //添加附件
   for (int i=0;i_mailAttachment.getAttachPath().size();i++)
   {
    MimeBodyPart mbp = new MimeBodyPart();
    FileDataSource fds = new FileDataSource((String) _mailAttachment.getAttachPath().get(i));
    mbp.setDataHandler(new DataHandler(fds));
    mbp.setFileName(MimeUtility.encodeWord(fds.getName(), "GB2312",null));
    mp.addBodyPart(mbp);
   }
    }
    catch(MessagingException ie)
    {
   System.out.println("Set Content Message error..."+ie.getMessage());
   throw ie;
    }
    catch(UnsupportedEncodingException ie)
    {
   System.out.println("Encode the fileName error..."+ie.getMessage());
   throw ie;
    }
    return mp;
  }
  
  放置附件的注重事项如下:
  
  在发mail时需要注重字符集的问题。不但content里要设置,而且文件名也需要设置。假如我们去掉mbp.setFileName(MimeUtility.encodeWord(fds.getName(),"GB2312",null));这句话,那么你选中的附件还是会带到邮件里,但是在附件里看不到。我们可以通过查看邮件大小知道。我们利用这个特点来实现发送content中写的是html语言,而且包含图片信息的邮件。

进入讨论组讨论。 2.发送content中包含html页面的邮件

  

展开更多 50%)
分享

猜你喜欢

用JavaMail发送带附件的Email

编程语言 网络编程
用JavaMail发送带附件的Email

用php发送带附件的Email

PHP
用php发送带附件的Email

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

发送带附件的HTML格式邮件例程可以带附件

ASP
发送带附件的HTML格式邮件例程可以带附件

发送带附件的HTML格式邮件例程

ASP
发送带附件的HTML格式邮件例程

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用ASP实现支持附件的EMail系统

ASP
用ASP实现支持附件的EMail系统

用Delphi设计能携带附件的EMail

Delphi
用Delphi设计能携带附件的EMail

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Java Servelet API入门基础教程

Java Servelet API入门基础教程

Struts用户指南

Struts用户指南
下拉加载更多内容 ↓