java 附件显示,java发送带附件的邮件,为啥邮箱内容直接显示的附件里面的内容?...

此篇博客探讨了Java编程中如何使用MimeMessage和MimeMultipart发送带附件的电子邮件,作者解释了为何邮件内容直接显示附件内容,并提供了解决方案或技巧。读者可以找到关于SMTP配置、邮件构造和调试技巧的详细步骤。
摘要由CSDN通过智能技术生成

当前位置:我的异常网» J2SE » java发送带附件的邮件,为啥邮箱内容直接显示的附件

java发送带附件的邮件,为啥邮箱内容直接显示的附件里面的内容?

www.myexceptions.net  网友分享于:2015-08-26  浏览:16次

java发送带附件的邮件,为何邮箱内容直接显示的附件里面的内容?。

public class Test1 {

/*

* from:发件人 password:发件密码 to: 收件人 subject:主题messageText:内容 Server:smtp服务器地址

*/

// 文本邮件

public void sendTextMail(String from, String to, String subject,

String messageText, String password, String Server)

throws MessagingException, javax.mail.MessagingException, ParseException, UnsupportedEncodingException {

// 建立邮件会话

Properties pro = new Properties();

pro.put("mail.smtp.host", Server);

pro.put("mail.smtp.auth", "true");

Session sess = Session.getInstance(pro);

sess.setDebug(true);

// 新建一个消息对象

MimeMessage message = new MimeMessage(sess);

// 附件

MimeMultipart mp=new MimeMultipart("related");    //Multipart对象,邮件内容,标题,附件等内容均添加到其中后再生成MimeMessage对象

MimeBodyPart  bp = new MimeBodyPart();//正文

FileDataSource fileds = new FileDataSource("D:\\11.txt");

bp.setDataHandler(new DataHandler(fileds));

bp.setFileName(MimeUtility.encodeWord(fileds.getName(),"GB2312",null));//设置附件文件名

mp.addBodyPart(bp);//

// 设置发件人

InternetAddress from_mail = new InternetAddress(from);

message.setFrom(from_mail);

// 设置收件人

InternetAddress to_mail = new InternetAddress(to);

message.setRecipient(Message.RecipientType.TO, to_mail);

// 设置主题

message.setSubject(subject);

// 设置内容

message.setText(messageText);

//集成附件

message.setContent(mp);

// 设置发送时间

Date d = new Date();

message.setSentDate(d);

// 发送邮件

message.saveChanges(); // 保证报头域同会话内容保持一致

Transport transport = sess.getTransport("smtp");

transport.connect(Server, from, password);

transport.sendMessage(message, message.getAllRecipients());

transport.close();

}

public static void main(String args[]) throws javax.mail.MessagingException, ParseException, UnsupportedEncodingException {

Test1 send = new Test1();

try {

send.sendTextMail("454700515@qq.com", "1124451928@qq.com",

"标题", "这是内容哈", "密码", "smtp.qq.com");

} catch (MessagingException e) {

e.printStackTrace();

文章评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值