private Session createSmtpSession() {
    final Properties props = new Properties();
    props.setProperty("mail.host", emailModel.getHostName());
    props.setProperty("mail.smtp.auth", "true");
    props.setProperty("mail.smtp.port", "" + emailModel.getPort());
    props.setProperty("mail.smtp.starttls.enable", "true");
    props.setProperty("mail.transport.protocol", emailModel.getProtocol());
    // props.setProperty("mail.debug", "true");

    return Session.getDefaultInstance(
        props,
        new javax.mail.Authenticator() {
          protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(emailModel.getUserName(), emailModel.getPassword());
          }
        });
  }