java发送带图片的邮件_[Java] JavaMail 发送带图片的 html 格式的邮件

1 packagemail;2

3 importjava.util.Properties;4

5 importjavax.activation.DataHandler;6 importjavax.activation.DataSource;7 importjavax.activation.FileDataSource;8 importjavax.mail.BodyPart;9 importjavax.mail.Message;10 importjavax.mail.MessagingException;11 importjavax.mail.Multipart;12 importjavax.mail.PasswordAuthentication;13 importjavax.mail.Session;14 importjavax.mail.Transport;15 importjavax.mail.internet.AddressException;16 importjavax.mail.internet.InternetAddress;17 importjavax.mail.internet.MimeBodyPart;18 importjavax.mail.internet.MimeMessage;19 importjavax.mail.internet.MimeMultipart;20

21 public classEmailHelper {22

23 privateString host;24 privateString username;25 privateString password;26 privateString from;27

28 privateString to;29 privateString subject;30 privateString htmlContent;31 privateString imagePath;32

33 public EmailHelper(String host, String username, String password, String from) throwsAddressException, MessagingException{34 this.host =host;35 this.username =username;36 this.password =password;37 this.from =from;38 }39

40 public void sendWithImage() throwsException {41

42 Properties props = newProperties();43 props.put("mail.smtp.auth", "true");44 props.put("mail.smtp.host", host);45

46 final String username1 =username;47 final String password1 =password;48

49 Session session = Session.getInstance(props, newjavax.mail.Authenticator() {50 protectedPasswordAuthentication getPasswordAuthentication() {51 return newPasswordAuthentication(username1, password1);52 }53 });54

55 Message message = newMimeMessage(session);56

57 message.setFrom(newInternetAddress(from));58

59 message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));60

61 message.setSubject(subject);62

63 Multipart multipart = new MimeMultipart("related");64

65 System.out.println(" html ");66 BodyPart htmlPart = newMimeBodyPart();67 htmlContent = "%5C%22cid:image%5C%22" +htmlContent;68 htmlPart.setContent(htmlContent, "text/html");69 multipart.addBodyPart(htmlPart);70

71 System.out.println(" image ");72 System.out.println("image path : " +imagePath);73 BodyPart imgPart = newMimeBodyPart();74 DataSource fds = new FileDataSource(this.imagePath);75

76 imgPart.setDataHandler(newDataHandler(fds));77 imgPart.setHeader("Content-ID", "");78

79 multipart.addBodyPart(imgPart);80 message.setContent(multipart);81 Transport.send(message);82

83 System.out.println(" Sent -| ");84 }85

86 public voidsetTo(String to) {87 this.to =to;88 }89

90 public voidsetSubject(String subject) {91 this.subject =subject;92 }93

94 public voidsetHtmlContent(String htmlContent) {95 this.htmlContent =htmlContent;96 }97

98 publicString getImagePath() {99 returnimagePath;100 }101

102 public voidsetImagePath(String imagePath) {103 this.imagePath =imagePath;104 }105 }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值