Как безопасно отправить пароль зарегистрировавшемуся пользователю?
Странное дело - куда он девается-то? Что мешает прямо в задачу очереди его сохранить?

Ну а если вас безопасность интересует - пароль должен устанавливать пользователь, тогда он никуда и не утечёт. Если же это совершенно невозможно, то нужно всё равно генерировать не пароль, а разовую ссылку на регистрацию / подтверждение регистрации, по которой пользователь обязан установить свой пароль. В плане безопасности это мало чем отличается от генерации пароля - стащив хоть ссылку, хоть пароль, можно авторизоваться. А вот с точки зрения архитектуры будет проще реализовать сценарий и в любой момент можно отделить таких "неактивированных" пользователей.
Пользователь САМ должен придумать пароль, а ВЫ должны хранить хеш от него, но не САМ пароль. Разумеется в целях большей безопасности НЕ нужно отправлять пароль на почту, вот совсем-вообще. Единственный тонкий момент - на этапе ввода юзером его пароля, проверяйте, чтобы юзер выбрал достаточно надежный пароль.