public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {

    final HttpSession session = request.getSession();
    OAuthToken token = (OAuthToken) session.getAttribute("token");

    final String addr = request.getParameter("address");
    final String[] addrs = addr.split(",");
    for (int i = 0; i < addrs.length; ++i) addrs[i] = addrs[i].trim();

    final String msg = request.getParameter("sendMsgInput");
    final String subject = request.getParameter("sendSubjectInput");
    final boolean group = request.getParameter("groupCheckbox") != null;
    // TODO: handle attachments

    IMMNService srvc = new IMMNService(appConfig.getApiFQDN(), token);
    JSONObject jresponse = new JSONObject();
    try {
      SendResponse sendResponse = null;
      if (!subject.isEmpty() || group) {
        sendResponse =
            srvc.sendMessage(addrs, msg, subject, group, /* TODO: finish attachments */ null);
      } else {
        sendResponse = srvc.sendMessage(addrs, msg);
      }
      final String id = sendResponse.getId();
      jresponse.put("success", true).put("text", "id: " + id);
    } catch (RESTException re) {
      jresponse.put("success", false).put("text", re.getMessage());
    }

    response.setContentType("text/html");
    PrintWriter writer = response.getWriter();
    writer.print(jresponse);
    writer.flush();
  }