java读取邮件超大附件_javamail在收邮件时可以得到邮件大小,但是javamail在发邮件时怎么得到邮件大小?...

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();

这是部分代码

希望对你有用

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页