Here is the code of the Register snippet:
require_once $modx->getOption('login.core_path',null,$modx->getOption('core_path').'components/login/').'model/login/login.class.php';
$login = new Login($modx,$scriptProperties);
$controller = $login->loadController('Register');
$output = $controller->run($scriptProperties);
return $output;
I think you could export the Access users to a CSV file, read that file and put the data into the $scriptProperties array, then use the code above to put the users into the DB and send them an email.
Here are the relevant variables for $scriptProperties:
array(
'activation' => true,
'activationEmail' => '',
'activationEmailSubject' => $this->modx->lexicon('register.activation_email_subject'),
'activationEmailTpl' => 'lgnActivateEmailTpl',
'activationEmailTplType' => 'modChunk',
'activationEmailTplAlt' => '',
'activationResourceId' => '',
'emailField' => 'email',
'errTpl' => '<span class="error">[[+error]]</span>',
'excludeExtended' => '',
'moderatedResourceId' => '',
'passwordField' => 'password',
'persistParams' => '',
'placeholderPrefix' => '',
'preHooks' => '',
'postHooks' => '',
'redirectBack' => '',
'redirectBackParams' => '',
'submittedResourceId' => '',
'submitVar' => 'login-register-btn',
'successMsg' => '',
'useExtended' => true,
'usergroups' => '',
'usernameField' => 'username',
'validate' => '',
'validatePassword' => true,
)
I think you would have to put the email, username, and password, in $_POST variables named from the appropriate fields above.
I'm not positive that it would work.