一封复杂点的邮件

package cn.zjgsu.netcom;

import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Address;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class Demo3 {

	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub

		Properties props = new Properties();
		props.setProperty("mail.transport.protocol", "smtp");
		props.setProperty("mail.smtp.auth", "true");
		Session session = Session.getInstance(props);
		session.setDebug(true);
		Message msg = new MimeMessage(session);
		msg.setSubject("这是另一封复杂邮件");
		msg.setFrom(new InternetAddress("netcom_test@163.com"));
		Multipart msgMultipart = new MimeMultipart("mixed");
		msg.setContent(msgMultipart);

		BodyPart attach1 = new MimeBodyPart();
		BodyPart attach2 = new MimeBodyPart();
		BodyPart content = new MimeBodyPart();
		msgMultipart.addBodyPart(attach1);
		msgMultipart.addBodyPart(attach2);
		msgMultipart.addBodyPart(content);

		DataSource ds1 = new FileDataSource("xxx");
		DataHandler dh1 = new DataHandler(ds1);
		attach1.setDataHandler(dh1);
		attach1.setFileName("Demo1");

		DataSource ds2 = new FileDataSource("xxx");
		DataHandler dh2 = new DataHandler(ds2);
		attach2.setDataHandler(dh2);
		attach2.setFileName("Demo2");

		Multipart bodyMultipart = new MimeMultipart("related");
		content.setContent(bodyMultipart);
		BodyPart msgBodyPart = new MimeBodyPart();
		bodyMultipart.addBodyPart(msgBodyPart);
		BodyPart picBodyPart = new MimeBodyPart();
		bodyMultipart.addBodyPart(picBodyPart);

		DataSource picds = new FileDataSource("xxx");
		DataHandler picdh = new DataHandler(picds);
		picBodyPart.setDataHandler(picdh);
		picBodyPart.setHeader("Content-Location", "sdnsim.jpg");
		msgBodyPart
				.setContent(
						"<html><body><font color='red'>这是一封用java生成的邮件!</font><img src='sdnsim.jpg'/></body></html>",
						"text/html;charset=gb2312");
		msg.saveChanges();

		Transport transport = session.getTransport();
		transport.connect("smtp.163.com", 25, "xxx", "xxx");
		transport.sendMessage(msg, new Address[] { new InternetAddress(
				"xxx") });
		transport.close();
	}
}

有几个问题:

      1、邮件正文中的图片是以附件的形式存在

      2、相同的代码第一次还能发送,后面看终端显示已经发送成功,但邮件并没有收到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值