I just imported 1500 new users into my database from a couple of events we had. The user import module did not send out a single email, which is fine as long as they listed as OPT-IN in our mailchimp database.

When a person creates a new account they are automatically opt-in on our mailchimp mailing list. However, this does not happen when I bulk import through the user import module.

I think that this is the code that user import module needs to call.

/**
 * Submit handler to add users to lists when editing/creating a user
 */
function mailchimp_user_profile_submit($form, &$form_state) {
  if ($q = _mailchimp_get_api_object()) {
    $account = new stdClass();
    if (arg(0) == 'user' && is_numeric(arg(1))) {
      $account = user_load(array('uid' => arg(1)));
    }
    else {
      $account = $form_state['user'];
    }

    $lists = _mailchimp_get_available_lists($account);
    foreach ($lists as $list) {
    // ignore required lists, they are handled via hook_user
      if ($list->listtype !== MAILCHIMP_LISTTYPE_REQUIRED) {
        $is_subscribed = _mailchimp_is_subscribed($list->id, $account->mail, $q);
        $ret = TRUE;
        $selected = @$form_state['values']['mailchimp_list_'. $list->id];

        // unsubscribe a subscribed user who unchecked the box for this newsletter
        if ($is_subscribed && !$selected) {
          $ret = _mailchimp_unsubscribe_user($list, $account->mail, TRUE, $q);
        }
        else if ($selected) {
        // subscribe the user if they are not previously subscribed or update existing subscriptions
          $merge_vars = _mailchimp_load_user_list_mergevars($account->uid, $list->id, $q->listMergeVars($list->id));
          $merge_vars['EMAIL'] = $form_state['values']['mail'];
          if (!empty($form_state['values']['mailchimp_list_'. $list->id .'_INTERESTS'])){
            $merge_vars['INTERESTS'] = implode(',', array_filter($form_state['values']['mailchimp_list_'. $list->id .'_INTERESTS']));
          }
          $ret = _mailchimp_subscribe_user($list, $account->mail, $merge_vars, TRUE, $q);
        }
 
        if (!$ret) {
          watchdog('mailchimp', $q->errorMessage, array(), WATCHDOG_ERROR);
        }
      }
    }
  }
}