/** * Create an empty MimeMessage object with all properties set * * @param from Sender address * @param replyTo Reply-to address (null to omit) * @param to Array of target addresses * @param cc Array of CC addresses - or null * @param subject Subject */ private static MimeMessage createMessage( String from, String replyTo, String[] to, String[] cc, String subject) throws MessagingException { Properties p = new Properties(); p.setProperty("mail.transport.protocol", "smtp"); p.setProperty("mail.smtp.host", smtpHost); p.setProperty("mail.from", from); Session s = Session.getInstance(p); MimeMessage mm = new MimeMessage(s); InternetAddress[] aiaTo = new InternetAddress[to.length]; for (int i = 0; i < aiaTo.length; ++i) { aiaTo[i] = new InternetAddress(to[i]); } mm.addRecipients(Message.RecipientType.TO, aiaTo); if (cc != null) { InternetAddress[] aiaCC = new InternetAddress[cc.length]; for (int i = 0; i < aiaCC.length; ++i) { aiaCC[i] = new InternetAddress(cc[i]); } mm.addRecipients(Message.RecipientType.CC, aiaCC); } if (replyTo != null) { InternetAddress[] aiaReplyTo = new InternetAddress[1]; aiaReplyTo[0] = new InternetAddress(replyTo); mm.setReplyTo(aiaReplyTo); } mm.setFrom(new InternetAddress(from)); mm.setSubject(subject, "UTF-8"); mm.setSentDate(new Date()); return mm; }