<b>用JavaMail发送带附件的Email</b>[Java编程]
本文“<b>用JavaMail发送带附件的Email</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
随着网络利用的不断奉行,电子邮件越来越多的被大家利用.固然我们常常将电子邮件与 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语言,并且包含图片信息的邮件.
以上是“<b>用JavaMail发送带附件的Email</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |