电子邮箱应用程序2.0. 每个版本的功能详情见我的该项目仓库.

  • 如下示例,代码注释写的超贴心哟 (づ ̄3 ̄)づ╭❤~
	/**
	 * Title MimeMessage
	 * @Description Create a email.
	 * @param session,sendMail and receiveMail.
	 * @return MimeMessage
	 * @throws MessagingException
	 * @throws IOException
	 * @date Feb 21, 2019-11:02:10 AM
	 *
	 */
	public static MimeMessage createMimeMessage(Session session, String sendMail, String receiveMail)
			throws MessagingException, IOException
	{

		// 1: Create a email.
		MimeMessage message = new MimeMessage(session);
		// 2: From : addresser.
		message.setFrom(new InternetAddress(sendMail, "Java Program", "UTF-8"));
		// 3: To : recipients.
		message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, "Program", "UTF-8"));
		// 4: Subject : The email theme.
		message.setSubject(MY_EMAIL_SUBJECT, "UTF-8");

		/*
		 * Create the content of the email as followed .
		 */
		// 5: Create the node of image.
		MimeBodyPart image = new MimeBodyPart();
		DataHandler dataHandler = new DataHandler(new FileDataSource("resource/Cute_pig.jpg"));// read the local file.
		image.setDataHandler(dataHandler);// Add the data of image to the node.
		image.setContentID("image_Cut_pig_id");// Set a unique number for the node and his ID is referenced in the text "node".

		// 6: Create the node of text.
		MimeBodyPart text = new MimeBodyPart();
		// You can actually add web images by HTTP links as well.
		text.setContent(MY_EMAIL_CONTENT, "text/html;charset=UTF-8");

		// 7: Combine text and image "nodes" into a hybrid "node".
		MimeMultipart mm_text_image = new MimeMultipart();
		mm_text_image.addBodyPart(text);
		mm_text_image.addBodyPart(image);
		mm_text_image.setSubType("related");// incidence relation.

		// 8: Encapsulate the text + image hybrid "node" as a normal "node". Attention:
		// The "Content" that is eventually added to the emailis a Multipart composed of "bodyparts".
		MimeBodyPart text_image = new MimeBodyPart();
		text_image.setContent(mm_text_image);

		// 9: Create the node of attachment.
		MimeBodyPart attachment = new MimeBodyPart();
		DataHandler dataHandler2 = new DataHandler(new FileDataSource("resource/Love_Yourself.mp3"));
		attachment.setDataHandler(dataHandler2);
		// Set the file name of the attachment (encoding required).
		attachment.setFileName(MimeUtility.encodeText(dataHandler2.getName()));

		// 10: Set the relationship between ('text' + 'image') and the
		// 'attachment'.(compositing a large mixed "node"/Multipart).
		MimeMultipart mm_text_image_att = new MimeMultipart();
		mm_text_image_att.addBodyPart(text_image);// reference: 8.
		mm_text_image_att.addBodyPart(attachment);
		mm_text_image_att.setSubType("mixed");// mixed relations.

		// 11: Set the relationship for the entire email. (add the final mixed "node" as
		// the content of the email to the message object).
		message.setContent(mm_text_image_att);

		// 12: Set the date.
		message.setSentDate(new Date());
		// 13: Save the setting.
		message.saveChanges();

		return message;

}
  • 程序运行效果截图

  • 后期小哥哥我有时间会在版本2.0.上推出3.0.0 :通过GUI设计简化用户操作,期待哟 ~

  • Download the source code : Try it now ~


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

Data structures and algorithm analysis in C Previous
水果贪吃蛇游戏 Next