hr_lolka: ну из других способов - поставить свой DNS сервер, который будет отрабатывать запросы для какого-нибудь домена example.com и для запроса типа idsomerandom.example.com писать в какую-нибудь базу id запроса и соответствующий ему домен, а вы этот id из базы будете брать. Примерно так делает whoer и ему подобные сервисы.
покажите заголовки письма с mail.ru.
В postmaster статистика появится через сутки, наличие DKIM он может проверить только по статистике.
Вообще попадание писем в спам напрямую с DKIM скорее всего не связано, если только у вас нет DMARC-политики quarantine.
redsocks для этого скорей всего не годится. Да и вообще вряд ли какой-то бесплатный соксификатор для этого пригоден, т.к. требуется достаточно хитрая логика для "подменного" разрешения имен, она бывает в платных соксификаторах. Вы можете попробовать сделать решение с локальным DNS-прокси примерно в такой конфигурации (этот прокси нужно запустить на клиенте)
на 53м порту на 127.0.0.1 будет DNS-резолвер перенаправляющий все запросы в google DNS по TCP.
Этот прокси (127.0.0.1) следует использовать вместо провайдерского DNS.
Совместно с этим DNS-прокси можно использовать соксификатор.
allow и parent нужны только в том случае, если прокси не будет попадать под соксификатор, иначе перенаправление будет делать сам соксификатор.
teub74: нет, у вас скорей всего просто потери в сети. Запустите пинг до 213.180.204.213 и посмотрите, теряются ли пакеты. А то что возвращает ваш сервер и сервер яндекса сравните между собой. Иногда при копировании лишние знаки \ добавляют, например, или пробелы.
>*** Can't find mail._domainkey.example.com: No answer
Это потому что у вас проблемы с IPv6, при этом почему-то у вас он указан как приоритетный.
попробуйте
nslookup -q=TXT mail._domainkey.example.com 213.180.204.213
teub74: если у вас, например, один из двух серверов зоны дает ошибку, то вероятность успешного получения записи 50%. Такая же вероятность что Yandex при очередной проверке увидит, что вы добавили DKIM-запись.
Получите DKIM-запись со всех ваших серверов зон и сравните ее с DKIM-записью полученной с dns1.yandex.ru.
Во-первых, вы не генерируете Message-ID, поэтому его добавляет SMTP-сервер, а по стандарту должен генерировать MUA (т.е. в данном случае вы). Обычно этот заголовок в списке обязательных для подписи, поэтому это может создавать проблемы.
Во-вторых - вам google пишет
error in processing during lookup of accounts@example.com: DNS error
т.е. у вас проблемы с DNS-сервером, из-за этого может и DKIM-запись не видна Яндексу.
teub74: будет гораздо проще если все-таки показать заголовки письма. Возможно вы формируете неправильный адрес отправителя в SMTP-конверте (envelope-from, обычно можно посмотреть в поле Return-Path или по заголовкам Received). Убедитесь, что он совпадает с адресом From.
teub74: если вы отправляете письмо через smtp.yandex.ru с логином и паролем- то подпись будет делать он. Через что вы отправляете - через почтовую программу или через postfix не важно. Можете попробовать отправить через почтовую программу.
есть такой нюанс - DKIM может не накладываться, если письма не соответствуют стандартам. Проверьте, нет ли у вас, например, 8-битных символов в заголовках, правильно ли сформирован From, есть ли Date и Message-ID.
Константин Степанов: так вот, это не утечки от mail.ru, yandex и gmail. Это взяты 100500 разных баз: поломанных сайтов на разных популярных движках + базы LinedIn + базы скомпрометированных эккаунтов (через брутфорс, троянцы и т.п.) и скомпилированы в одну базу, из которой взяты емейлы и пароли и поделены по разным почтовым службам. Если у вас пароль ранее был сбручен, угнан трояном или вы его использовали на каком-то левом сайте - да, он будет в этой базе.
Константин Степанов: утечек паролей напрямую от Яндекса или Mail.Ru не было. Если ваш пароль был в базе эккаунтов, это значит что он либо легко брутился (например словарный пароль или дата рождения с инициалами) либо вы вводили при регистрации где-то адрес e-mail и пароль, совпадающий с паролем от этого e-mail.