javamail在收邮件时可以得到邮件大小,但是javamail在发邮件时怎么得到邮件大小?

郭怀勇 发布于 2009/06/09 09:50
阅读 1K+
收藏 1

javamail在收邮件时可以得到邮件大小,但是javamail在发邮件时怎么得到邮件大小?

加载中
0
红薯
红薯

试试 MimeMesssage 类的 getSize 方法,实在不行就把MimeMessage写到一个eml文件,然后读取文件大小

0
林林林
林林林

Properties   props   =   new   Properties();  
  props.put("mail.smtp.host",   host);  
  //   需要经过授权,也就是用户名和密码的校验,这样才能通过验证(一定要有这一条)  
  props.put("mail.smtp.auth",   "true");  
   
  //   用刚刚设置好的props对象构建一个session  
  Session   session   =   Session.getDefaultInstance(props);  
  session.setDebug(true);  
   
  //   用session为参数定义消息对象  
  MimeMessage   message   =   new   MimeMessage(session);  
  try   {  
  //   加载发件人地址  
  message.setFrom(new   InternetAddress(from));  
  //   加载收件人地址  
  if   (!to.equals(""))   {                  
  message.addRecipient(Message.RecipientType.TO,  
  new   InternetAddress(to));  
  }  
  //   加载抄送地址      
  if   (!copyAddress.equals(""))   {  
  message.addRecipient(Message.RecipientType.CC,  
  new   InternetAddress(copyAddress));  
  }  
  //   加载密送地址                      
  if   (!secretAddress.equals(""))   {  
  message.addRecipient(Message.RecipientType.BCC,  
  new   InternetAddress(secretAddress));  
  }  
  //   加载标题  
  message.setSubject(subject); Multipart   multipart   =   new   MimeMultipart();  
  //   设置邮件的文本内容  
  BodyPart   contentPart   =   new   MimeBodyPart();  
  contentPart.setContent(mailtext,"text/html;charset=GBK"); multipart.addBodyPart(contentPart);  
   
  /**  
    *   添加附件  
    */  
  if   (affix.length>0)   {  
  for   (int   i   =   0;   i   <   affix.length;   i++)   {  
  BodyPart   messageBodyPart   =   new   MimeBodyPart();      
  DataSource   source   =   new   FileDataSource(ABMSystemInfo.PROJECT_PATH+affix[i]);  
  //   添加附件的内容  
  messageBodyPart.setDataHandler(new   DataHandler(source));  
  //   添加附件的标题  
  sun.misc.BASE64Encoder   enc   =   new   sun.misc.BASE64Encoder();  
  messageBodyPart.setFileName("=?GBK?B?"  
  +   enc.encode(affixName[i].getBytes())   +   "?=");  
  multipart.addBodyPart(messageBodyPart);  
  }  
  }  
  //   将multipart对象放到message中  
  message.setContent(multipart);   //   保存邮件  
  message.saveChanges(); sendmailsize   =   message.getSize();  
  这是部分代码

希望对你有用

huaji0353
huaji0353
w7和xp外观真是华而不实,8和10设计感好评
返回顶部
顶部