Насколько трудоёмко будет написать такой почтовый сервер самому?
Простой, обрабатывающий только базовый RFC822 - несложно, но при этом половина привычных фич работать тупо не будет ;) Если же морочится поддержкой всего-всего, что уже напридумывали - нужно прочитать
все RFC, которые связаны с темой :)
Какие частые проблемы возникают в эксплуатации готовых решений?
В эксплуатации самих решений, как правило особых проблем нет. Проблемы возникают обычно с анти-(спамом, вирусом, чертом лысым). Шифрование, сертификаты, SPF/DKIM/DMARC etc.
Как скрепные сервисы, почтовые и не только, реагируют на самодельную почту, есть тут какие-то проблемы?
Как человек, много лет содержщий собственную почту (на собственном сервере, стоящем в собственной квартире :) ) скажу, что плевали они на это. Протоколов слава Богу придерживаются - и ладно.
Нужно ли регистрировать домен для своей почты?
Доменное имя? Конечно. И еще белый IP нужен и MX-запись, направляющая на него почту.
Обычные проблемы - это:
- сделать так, чтобы твои письма не уходили в спам
- сделать так, чтобы тебя не задробили спамом
Первое обычно решается через SPF/DKIM/DMARC иже с ними, второе - через greylistng и черные списки
Думаю на python, т.к. самому интересно поковыряться.
Не путайте жабу с мотоциклом. Почтовый сервер - это обычно два
независимых компонента - SMTP-сервер (тот, что принимает письма и мира и отправляет их в мир) и IMAP-сервер (тот, что передает почту в почтовый клиент - Thunderbird, Outlook etc). Плюс дополнительные модули. Веб-интерфейс к почте -
отдельный продукт, с двумя первыми обычно не связанный (кстати, пишутся сервера обычно на С). Антиспам - это еще отдельный продукт (может быть, если морочиться чем-то типа DSPAM).