Top-level
20 comments
Тебе для почтовика в любом случае нужен публичный хостнейм, иначе как до тебя дойдет чужая почта Под публичным хостнеймом я подразумеваю какое-либо DNS имя, которое резолвится в публичный IP-адрес. Серты - можно сделать через тот же Let's Encrypt @rubikoid @exo Учитвай, что у тебя почтовик слушает (ну и должен быть доступен) на целой плеяде портов - 25, 465, 587, 993, 143 как минимум. Кажется, что далеко не все из них получится нормально через nginx проксировать - это если у тебя сервис крутится не на той же тачке, что доступна по публичному айпишнику. Тогда делаешь так. Берешь mx.sadium.cyou, пишешь его в $(hostname), выписываешь на него LE-серт. Через nginx проксировать его нужно только на время выписывания серта, если ты через HTTP-01 challenge его выписываешь, потому что maddy никакого http-сервиса не отдает. и MX-запись на корневой домен прописать с ним, да. Только убедись, что провайдер 25 и остальные почтовые порты не блочат, они любят. А что за DNS-провайдер? Мб у него слишком тупая контрольная панель. Как вариант, можешь попробовать, если есть, добавить что-нибудь вроде raw-записи, и сам руками её сформировать. TLSA без DNSSEC не имеет смысла, а судя по У меня домен в бесплатном cloudflar'e, он всё что нужно умеет. Либо можно забить на TLSA) Регру, вообще, по моему личному мнению - большие нехорошие буки, и напрямую с ними взаимодействовать - рано или поздно закончится не лучшим образом. Но тут каждый сам уже выбирает) Огонь, пожалуйста) Если хочется какую-нибудь вебморду и при этом не ставить какой-нибудь кринж на php - у меня стоит https://git.sr.ht/~migadu/alps Очень простенький, но если нормального клиента нет - глянуть почту хватает. |
@sl @exo
Смотри, у тебя есть две сущности.
У тебя есть почтовый домен, и у тебя есть хостнейм сервака, на котором хостится почта.
$(hostname) - это публичный хостнейм сервака, на котором хостится почта.
$(primary_domain) - это сам почтовый домен.
Они относятся следующим образом: запрашиваешь MX для primary_domain -> получаешь hostname.
Т.е, допустим
$(hostname) = mx.sadium.cyou
$(primary_domain) = sadium.cyou
Тогда в DNS тебе надо будет прописать две записи:
MX sadium.cyou -> mx.sadium.cyou
и
A mx.sadium.cyou -> <public ip>
Офк ты можешь обойтись без второй записи оставив просто
MX sadium.cyou -> sadium.cyou, тогда в hostname нужно оставить просто sadium.cyou.
В MTA-STS и DANE ты кладешь $(hostname).
@sl @exo
Смотри, у тебя есть две сущности.
У тебя есть почтовый домен, и у тебя есть хостнейм сервака, на котором хостится почта.
$(hostname) - это публичный хостнейм сервака, на котором хостится почта.
$(primary_domain) - это сам почтовый домен.
Они относятся следующим образом: запрашиваешь MX для primary_domain -> получаешь hostname.