Хорошо, мне удалось выяснить это самостоятельно, но я хотел опубликовать здесь шаги для потомков, потому что на это не было никакой документации (которую я мог найти), и это было практически предположение и проверка.
После того, как я установил «Домен *», как описано выше, он подписал бы его так:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=clientdomain.com;
s=main; t=1250005729;
bh=twleuNpYDuUTZQ/ur9Y2wxCprI0RpF4+LlFYMG81xwE=;
h=Date:From:To:Message-Id:Subject:Mime-Version:Content-Type;
b=kohI7XnLlw/uG4XMJoloc4m9zC13g48+Av5w5z7CVE0u3NxsfEqwfDriapn7s7Upi
31F3k8PDT+eF57gOu2riXaOi53bH3Fn/+j0xCgJf8QpRVfk397w4nUWP/y8tz4jfRx
GhH21iYo05umP0XflHNglpyEX02bssscu2VzXwMc=
обратите внимание на «d = clientdomain.com». Он генерировал это на основе адреса from в электронном письме, где адрес from был что-то вроде «contact@clientdomain.com». Очевидно, что если он проверил домен клиента, а не мой, никакой записи DNS TXT не было, и проверка не удалась бы.
Так или иначе, я обнаружил в этом документе, что вы можете установить параметр KeyList.
http://manpages.ubuntu.com/manpages/hardy/man5/dkim-filter.conf.5.html
Это на самом деле не описывало то, что я хотел сделать, но я решил поиграть с этим. Я закомментировал KeyFile и установил для KeyList значение «/etc/mail/dkim_domains.key», которое является произвольным именем файла, которое я составил. Затем я создал этот файл и поместил его в него "*: feedmailpro.com: /etc/mail/dkim.key". Это говорит об этом для любого клиентского домена, подпишите его с моим доменом (feedmailpro.com) и используйте файл dkim.key.
Перезапустил DKIM и постфикс
sudo /etc/init.d/dkim-filter restart
sudo /etc/init.d/postfix restart
Теперь это ключ, сгенерированный при отправке тестового электронного письма.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=feedmailpro.com;
s=dkim.key; t=1250005729;
bh=twleuNpYDuUTZQ/ur9Y2wxCprI0RpF4+LlFYMG81xwE=;
h=Date:From:To:Message-Id:Subject:Mime-Version:Content-Type;
b=kohI7XnLlw/uG4XMJoloc4m9zC13g48+Av5w5z7CVE0u3NxsfEqwfDriapn7s7Upi
31F3k8PDT+eF57gOu2riXaOi53bH3Fn/+j0xCgJf8QpRVfk397w4nUWP/y8tz4jfRx
GhH21iYo05umP0XflHNglpyEX02bssscu2VzXwMc=
Улучшение, вы видите, что d = сейчас установлено для моего домена (даже если адрес электронной почты не был моим доменом). Однако s = получил вместо "dkim.key" вместо селектора, который я выбрал в dkim-filter.conf. В оригинальной инструкции по установке я бы установил селектор на «mail». Это было странно, но я заметил, что оно изменило его на имя моего ключа, dkim.key.
Поэтому я пошел и переименовал «/etc/mail/dkim.key» в «/ etc / mail / mail». Также обновлена ссылка на него в "/etc/mail/dkim_domains.key".
Перезапустите dkim-filter и postfix снова, как описано выше, и теперь он начал работать. Вот последний заголовок, который подписывается правильно, используя правильный селектор (очевидно, основанный на имени файла ключа).
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=feedmailpro.com;
s=mail; t=1250006218;
bh=tBguOuDhBDlhv0m4KF66LG10V/8ijLcAKZ4JbjpLXFM=;
h=Date:From:To:Message-Id:Subject:Mime-Version:Content-Type;
b=c9eqvd+CY86BJDUItWVVRvI3nibfEDORZbye+sD1PVltrcSBOiLZAxF3Y/4mP6vRX
MUUNCC004oIH1u7FYafgF32lpuioMP1cd7bi6x3AZ5zH4BYETNBnnz4AhAPBtqlIh/
FFMz8jkhhLhcM2hDpwJkuKjAe3LzfNVDP8kD11ZI=
Теперь s = mail - это правильно, а d = feedmailpro.com - правильно. Оно работает!
В целом, это оказалось намного сложнее, чем я ожидал, и, казалось, не было документации о том, как это сделать (подпись для всех исходящих доменов), но я думаю, что это программное обеспечение с открытым исходным кодом, поэтому я не могу пожаловаться.
И последнее замечание: чтобы проверить, правильно ли настроена запись TXT DNS, вы можете выполнить команду, как с вашим доменом.
dig mail._domainkey.feedmailpro.com TXT
Может потребоваться установка dig (sudo apt-get install dig). Если вы используете диспетчер Slicehost для добавления записи DNS, вы должны ввести запись TXT следующим образом.
Type: TXT
Name: mail._domainkey
Data: k=rsa; t=s; p=M5GfMA0...YOUR LONG KEY...fIDAQAB
TTL seconds: 86400
Я не очень понимаю, почему имя установлено в «mail._domainkey» без точки в конце или без моего домена, например «mail._domainkey.feedmailpro.com». Но как бы то ни было, это похоже на работу, поэтому я счастлив.
Если вы пытаетесь продублировать это, вот инструкции, с которых я начал:
https://help.ubuntu.com/community/Postfix/DKIM
Вдохновленный ответом Брайана Армстронга на dkim-filter, вот как я это сделал для OpenDKIM .
/etc/opendkim.conf
Обратите внимание, что SigningTable имеет refile: в его определении это указывает, что файл содержит регулярные выражения; в нашем случае * подстановочный знак.
/ И т.д. / почта / dkim_key_table
Здесь имя ключа используется для сопоставления ключа между этим файлом и файлом dkim_signing_table. В моем реальном файле я назвал это так же, как мой селектор.
example.com и селектор должны быть заменены тем доменом и селектором, которые вы хотите использовать в d = и s = вашей подписи соответственно.
/ И т.д. / почта / dkim_signing_table
Этот файл просто сопоставляет адрес, найденный в заголовке From:, с ключом в dkim_key_table. В этом случае мы хотим, чтобы все письма, отправленные через этот сервер, были подписаны одним и тем же ключом, поэтому используется подстановочный знак *.
источник
Старый поток, но, может быть, кто-то еще, кто найдет это, будет полезным знать, что версия 2.x opendkim работает с KeyTable вместо KeyList.
Вы можете конвертировать файл KeyList с помощью инструмента opendkim-convert-keylist ( http://manpages.ubuntu.com/manpages/lucid/man8/opendkim-convert-keylist.8.html )
Вы можете прочитать больше о реализации KeyTable на странице руководства opendkim: ( http://www.opendkim.org/opendkim.conf.5.html )
источник
Документация для фильтра DKIM обычно устанавливается в формате unix man. Только Гугл знает это :-) У меня тоже была проблема.
Я попробовал это на Debian. Если его нет на самом деле, вы можете скачать исходный архив и легко прочитать документ.
и т.п.
-
Таким образом, вы можете использовать одно и то же в обеих DNS-записях разных доменов.
источник