apache-comnons系列之commons-email1.4 学习笔记

58 篇文章 0 订阅
53 篇文章 1 订阅

apache-comnons系列之commons-email1.4 学习笔记

概述

Email

  • The base class for all email messages. This class sets the
  • sender’s email & name, receiver’s email & name, subject, and the sent date.
  • Subclasses are responsible for setting the message body.
SimpleEmail
  • This class is used to send simple internet email messages without attachments.
MultiPartEmail
  • A multipart email.This class is used to send multi-part internet email like messages with attachments.
  • To create a multi-part email, call the default constructor and then you can call setMsg() to set the message and call the different attach() methods.
EmailAttachment
  • This class models an email attachment. Used by MultiPartEmail.
HtmlEmail
  • An HTML multipart email.
  • This class is used to send HTML formatted email. A text message can also be set for HTML unaware email clients, such as text-based email clients.
ImageHtmlEmail
  • Small wrapper class on top of HtmlEmail which encapsulates the required logic to retrieve images that are contained in “<img src=../>” elements in the HTML
  • code. This is done by replacing all img-src-elements with “cid:”-entries and embedding images in the email.
EmailUtils
  • Utility methods used by commons-email.

测试

  • org.apache.commons.mail.EmailTest
    • MimeMessage message—-The email message to send.
    • Object content—-The content.
    • MimeMultipart emailBody—-An attachment
    • send
      • Sends the email. Internally we build a MimeMessage which is afterwards sent to the SMTP server.
    • buildMimeMessage
      • Does the work of actually building the MimeMessage. Please note that a user rarely calls this method directly and only if he/she is interested in the sending the underlying MimeMessage without commons-email.
      • this.message = this.createMimeMessage(this.getMailSession());
      • if (this.content != null)—-else if (this.emailBody != null)
    • sendMimeMessage
      • Sends the previously created MimeMessage to the SMTP server.
      • Transport.send(this.message);
  • org.apache.commons.mail.MultiPartEmailTest
    • MimeMultipart container—-Body portion of the email
    • BodyPart primaryBodyPart—The message container.
    • boolean initialized
    • init
      • Initialize the multipart email.
      • container = createMimeMultipart();
      • super.setContent(container);
      • this.emailBody = aMimeMultipart;
    • setMsg
      • Set the message of the email.
      • final BodyPart primary = getPrimaryBodyPart();
    • getPrimaryBodyPart
      • primaryBodyPart = createBodyPart();
      • getContainer().addBodyPart(primaryBodyPart, 0);
    • attach
      • Attach a file.
      • final BodyPart bodyPart = createBodyPart();
      • bodyPart.setDataHandler(new DataHandler(ds));
      • getContainer().addBodyPart(bodyPart);
    • buildMimeMessage
      • Does the work of actually building the MimeMessage. Please note that a user rarely calls this method directly and only if he/she is interested in the sending the underlying MimeMessage without commons-email.
      • final BodyPart body = this.getPrimaryBodyPart();
      • super.buildMimeMessage();—-这里与init时候的super.setContent(container);呼应上
  • org.apache.commons.mail.HtmlEmailTest
    • String text
      • Text part of the message. This will be used as alternative text if the email client does not support HTML messages.
    • String html
      • Html part of the message.
    • inlineEmbeds = new HashMap String, InlineImage ();
      • Embedded images Map where the key is the user-defined image name.
    • embed
      • Attempts to parse the specified String as a URL that will then be embedded in the message.
      • final MimeBodyPart mbp = new MimeBodyPart();
      • mbp.setDataHandler(new DataHandler(dataSource));
      • final InlineImage ii = new InlineImage(encodedCid, dataSource, mbp);
      • this.inlineEmbeds.put(name, ii);
    • build
      • bodyContainer.addBodyPart(msgHtml, 0);
      • bodyEmbedsContainer.addBodyPart(image.getMbp());
      • bodyContainer.addBodyPart(msgText, 0);
  • org.apache.commons.mail.ImageHtmlEmailTest
    • REGEX_IMG_SRC—-Regexp for extracting tags
    • REGEX_SCRIPT_SRC–regexp for extracting tags
    • String temp = replacePattern(super.html, IMG_PATTERN);
    • temp = replacePattern(temp, SCRIPT_PATTERN);
    • setHtmlMsg(temp);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值