> Как автоматически генерировать почту с доменом для пользователя?
с помощью кода на каком-либо языке программирования для работы с веб-стеком принимать от пользователя желаемое имя почтового ящика, проверять его на занятость, и выполнять команды по созданию этого ящика на почтовом сервере, если имя свободно.
> И возможно ли это вообще?
нет.
> Как генерируют почту такие компании, как Yandex и Google?
то есть я хотел сказать конечно же возможно.
> Нужен для этого собственный почтовый сервер?
если найдёте чужой почтовый сервер, владелец которого согласиться заводить новые ящики по команде от вашего кода - свой не нужен. а если не найдёте - нужен.