private static void doSendMessage(String unitName, List<InternetAddress> recipients, File zipFile)
			throws MessagingException, IOException {

		Properties confProps = new Properties();
		try (Reader pr = new InputStreamReader(
				HT{H.class.getResourceAsStream("HT{H.properties"), "UTF-8")) {
			confProps.load(pr);
		}
		
		final String subject = confProps.getProperty("subject");
		final String content = confProps.getProperty("content");

		Properties props = new Properties();
		props.put("mail.smtp.host", "zimbra.ntin.edu.tw");
//		props.put("mail.from", "ntin-info-team <info-team@mail.ntin.edu.tw>");
//		System.setProperty("mail.mime.encodefilename", "true");
		Session session = Session.getInstance(props, null);

		MimeMessage msg = new MimeMessage(session);
//				msg.setFrom();
		msg.setFrom(new InternetAddress("info-team@mail.ntin.edu.tw",
				"On@M-T", "big5"));
		msg.setRecipients(RecipientType.TO, recipients.toArray(new InternetAddress[0]));
		msg.setSubject(String.format(subject, unitName), "big5");
		msg.setSentDate(new Date());
		msg.addHeader("Return-Receipt-To", "info-team@mail.ntin.edu.tw");
		
		// create the message part
		MimeBodyPart messageBodyPart = new MimeBodyPart();

		// fill message
		messageBodyPart.setText(content, "big5");

		Multipart multipart = new MimeMultipart();
		multipart.addBodyPart(messageBodyPart);

		// Part two is attachment
		messageBodyPart = new MimeBodyPart();
		DataSource source = new FileDataSource(zipFile);
		messageBodyPart.setDataHandler(new DataHandler(source));
		messageBodyPart.setFileName(MimeUtility.encodeText(zipFile.getName(), "big5", "B"));
		multipart.addBodyPart(messageBodyPart);

		// Put parts in message
		msg.setContent(multipart);

		// Send the message
		Transport.send(msg);
	}