Я работаю над инструментом, который помогает пользователям отправлять электронные письма. Я планирую использовать MTA (агент передачи почты) в серверной части, такой как AWS-SES или Sendgrid и т. д. Чтобы электронные письма успешно доставлялись в почтовые ящики рецептов, пользователям необходимо настроить DKIM/SPF, настроив DNS. настройки соответствующих доменов.
Теперь, если я возьму, например, SES, я знаю, что они иметь API, который позволяет мне чтобы добавить «Идентификацию» и получить все необходимые записи DNS для нее с помощью API. Я уверен, что Sendgrid и другие MTA имеют аналогичные API, которые позволяют добавлять удостоверения и возвращать записи DNS для применения пользователем.
Я показываю возвращенные настройки DNS DKIM пользователю, и они добавляют их к своему DNS-провайдеру, и после этого, когда они отправляют электронные письма, рецепты получают их правильно (без каких-либо «через amazonses.com» в заголовках)
Теперь для примера — давайте предположим, что инструмент, который я создаю, размещен на chillybilly.xyz, и у одного из пользователей, использующих мой инструмент, есть домен с именем frankthetank.xyz, который они хотят использовать для отправки электронных писем через мою платформу. .
Когда пользователь попытается подтвердить свой домен через мою платформу, я нажму на упомянутый выше API в AWS SES и покажу пользователю что-то вроде этого:
После чего они могут добавить эти записи CNAMES и TXT для успешных DKIM/SPF и могут начать отправлять электронные письма. Но если присмотреться, они увидят, что я использую SES из-за значений этих записей CNAMES и TXT. И это то, чего я хочу избежать, вместо этого я хочу, чтобы те назывались как-то вроде 7nuk24xywyawocu6ctqjxmjasiaiq3vq.dkim.chillybilly.xyz
который будет показывать мой брендинг, но в фоновом режиме он все равно будет указывать на правильный SES.
Теперь я знаю, что такое возможно, потому что, когда я подписался на ConvertKit, мне показали что-то вроде этого:
Эти два значения, как вы можете видеть, указывают на converkit.com, НО когда я запускаю их через поиск DNS:
https://dnschecker.org/all-dns-records-of-domain.php?query=spf.dm-5mk8zo6m.sg7.convertkit.com.&rtype=ALL&dns=google
https://dnschecker.org/all-dns-records-of-domain.php?query=dkim.dm-5mk8zo6m.sg7.convertkit.com.&rtype=ALL&dns=google
Я вижу, что в фоновом режиме он указывает на записи MX и TXT, принадлежащие Sendgrid. Как я могу этого добиться? (Я считаю, что те же принципы применимы и к SES или любому другому MTA)
РЕДАКТИРОВАТЬ:
Я попробовал несколько вещей: и я установил CNAME, MX и TXT в chillybilly.xyz (домен моего проекта), и я указал на него два CNAMES из frankthetank.xyz под названием spf.frankthetank.xyz
и dkim.frankthetankxyz
https://dnschecker.org/all-dns-records-of-domain.php?query=spf.frankthetank.xyz&rtype=ALL&dns=google
https://dnschecker.org/all-dns-records-of-domain.php?query=dkim.frankthetank.xyz&rtype=ALL&dns=google
Как видите, мне удалось добиться результатов, очень похожих на то, что ConvertKit делает с Sendgrid. Но это не проверяется таким образом. :(
Единственная разница, которую я вижу, когда я проверяю эти поисковые запросы DNS (ссылки выше), заключается в том, что CNAME также отображаются в поиске для меня, но не в случае convertkit. Итак, я думаю, что близок к решению, но не уверен, что мне не хватает, есть идеи? :)