选择显示字体大小

用javamail发送带附件的email


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

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

  1.发送带附件的邮件

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

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语言,而且包含图片信息的邮件。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons