Refresh [account:one-time-login-url]
You can handle this very easily in your module. Once you save the account and you have the user object just simply use _user_mail_notify(). As an example:

 _user_mail_notify('password_reset', $account);


If you want to alter the email in any way you can do that with hook_mail_alter() from within your custom module.