javamail接收邮件时怎样能像163那样,在邮件正文下面显示都有什么附件
发布网友
发布时间:2022-05-09 17:24
我来回答
共1个回答
热心网友
时间:2023-10-10 09:48
如下是我之前做的用javamail发送邮件(包含附件,且附件是html网页形式)的范例,我稍微修改了下,你参考参考,希望可以帮到你,我之前是发给OutLook的,没有发给163试过,不过我想应该差别不是很大,你试试:
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.naming.*;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import com.tbcn.ceap.party.User;
import com.tbcn.ceap.party.custom.bizOper.UserpropertyBizOper;
InternetAddress[] address = null;
String mailTo = "";
boolean sessionDebug = false;
try {
// 设定所要用的Mail 伺服器和所使用的传送协定
java.util.Properties props = System.getProperties();
props.put("mail.host","接收Mail的服务器地址或名称");
props.put("mail.transport.protocol","smtp"); // <=设定所使用的protocol为SMTP(Small Mail Transfer Protocol)
// 产生新的Session 服务
javax.mail.Session mailSession = javax.mail.Session.getDefaultInstance(props,null);
mailSession.setDebug(sessionDebug);
Message msg = new MimeMessage(mailSession);
// 设定传送邮件的发信人
//msg.setFrom(new InternetAddress("想要显示的发件人名称"));
msg.setFrom(new InternetAddress("发件人地址"));
// 设定传送邮件至收信人的信箱
address = InternetAddress.parse("收件人",false);
msg.setRecipients(Message.RecipientType.TO, address);
// 设定信中的主题
msg.setSubject("邮件主题","big5");
// 设定送信的时间
msg.setSentDate(new Date());
//设定信件内容
String newMailBody = new String();
BodyPart mdp = new MimeBodyPart();
mdp.setContent("邮件内容", "text/html;charset=UTF-8");
Multipart mm = new MimeMultipart();
mm.addBodyPart(mdp);
msg.setContent(mm);
//设定附件信息
if(附件内容字串!=null){
mdp=new MimeBodyPart();
try{
DataHandler dh = new DataHandler(附件内容字串,"text/html;charset=UTF-8");
mdp.setDataHandler(dh);
FileDataSource fds = new FileDataSource("附件名字.html");
mdp.setFileName(new String(fds.getName().getBytes("utf-8"),"iso8859-1"));
}catch(Exception ex){
print("message_1--------------"+ex);
}
mm.addBodyPart(mdp);
msg.setContent(mm);
}
// 送信
Transport transport=mailSession.getTransport("smtp");
try{
transport.send(msg);
}catch(Exception ex1){
print("message_1--------------"+ex1);
}
}catch(MessagingException mex){
mex.printStackTrace();
}追问我想要收邮件时怎么处理附件
追答收到的附件就像我们正常发邮件的附件一样,邮件另存就可以了,也可以直接打开看。我这里给的附件是以HTML文件的格式。不太明白你这句到底想问什么东东。