Последние пару часов я боролся с настройкой DKIM на моем сервере Postfix / CentOS 5.3.
Наконец, он отправляет и подписывает электронные письма, но, видимо, Google все еще не нравится. Я получаю следующие ошибки:
dkim = нейтральный (плохая версия) header.i=@mydomain.com.au
из гуглов "показать оригинальный" интерфейс.
Вот так выглядит мой заголовок DKIM-подписи:
v = 1; а = rsa-sha1; c = простой / простой; d = mydomain.com.au; s = по умолчанию; t = 1267326852; bh = 0wHpkjkf7ZEiP2VZXAse + 46PC1c =; h = Дата: От: Идентификатор сообщения: Кому: Тема; b = IFBaqfXmFjEojWXI / WQk4OzqglNjBWYk3jlFC8sHLLRAcADj6ScX3bzd + No7zos6i KppG9ifwYmvrudgEF + n1VviBnel7vcVT6dg5cxOTu7yp1 + soByBnel7vcVT6dg5cxOTu7ypdg03d03d03d03d02b03d03d03e03d03d03d03d03d03d03d03d03d03d03d03d1
Очень признателен за любые предложения относительно того, как я могу решить эту проблему!
Кстати, вот как я установил dkim-milter в CentOS 5.3 для postfix, если кому интересно (на основе это руководство):
mkdir dkim-milter
cd dkim-milter
wget http://www.topdog-software.com/oss/dkim-milter/dkim-milter-2.8.3-1.x86_64.rpm
======S======
Newest version: http://www.topdog-software.com/oss/dkim-milter/
======E======
rpm -Uvh dkim-milter-2.8.3-1.x86_64.rpm
/usr/bin/dkim-genkey -r -d mydomain.com.au
======S======
add contents of default.txt to DNS as TXT
_ssp._domainkey TXT dkim=unknown
_adsp._domainkey TXT dkim=unknown
default._domainkey TXT v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GWETBNiQKBgQC5KT1eN2lqCRQGDX+20I4liM2mktrtjWkV6mW9WX7q46cZAYgNrus53vgfl2z1Y/95mBv6Bx9WOS56OAVBQw62+ksXPT5cRUAUN9GkENPdOoPdpvrU1KdAMW5c3zmGOvEOa4jAlB4/wYTV5RkLq/1XLxXfTKNy58v+CKETLQS/eQIDAQAB
======E======
mv default.private default
mkdir /etc/mail/dkim/keys/mydomain.com.au
mv default /etc/mail/dkim/keys/mydomain.com.au
chmod 600 /etc/mail/dkim/keys/mydomain.com.au/default
chown dkim-milt.dkim-milt /etc/mail/dkim/keys/mydomain.com.au/default
vim /etc/dkim-filter.conf
======S======
ADSPDiscard yes
ADSPNoSuchDomain yes
AllowSHA1Only no
AlwaysAddARHeader no
AutoRestart yes
AutoRestartRate 10/1h
BaseDirectory /var/run/dkim-milter
Canonicalization simple/simple
Domain mydomain.com.au #add all your domains here and seperate them with comma
ExternalIgnoreList /etc/mail/dkim/trusted-hosts
InternalHosts /etc/mail/dkim/trusted-hosts
KeyList /etc/mail/dkim/keylist
LocalADSP /etc/mail/dkim/local-adsp-rules
Mode sv
MTA MSA
On-Default reject
On-BadSignature reject
On-DNSError tempfail
On-InternalError accept
On-NoSignature accept
On-Security discard
PidFile /var/run/dkim-milter/dkim-milter.pid
QueryCache yes
RemoveOldSignatures yes
Selector default
SignatureAlgorithm rsa-sha1
Socket inet:20209@localhost
Syslog yes
SyslogSuccess yes
TemporaryDirectory /var/tmp
UMask 022
UserID dkim-milt:dkim-milt
X-Header yes
======E======
vim /etc/mail/dkim/keylist
======S======
*@mydomain.com.au:mydomain.com.au:/etc/mail/dkim/keys/mydomain.com.au/default
======E======
vim /etc/postfix/main.cf
======S====== Add:
smtpd_milters = inet:localhost:20209
non_smtpd_milters = inet:localhost:20209
milter_protocol = 2
milter_default_action = accept
======E======
vim /etc/mail/dkim/trusted-hosts
======S======
localhost
127.0.0.1
======E======
/etc/mail/local-host-names
======S======
localhost
127.0.0.1
======E======
/sbin/chkconfig dkim-milter on
/etc/init.d/dkim-milter start
/etc/init.d/postfix restart
Решение: оказалось, что я пропустил, что мой DNS-хост автоматически переводит все записи в нижний регистр (по причинам, неизвестным никому, кроме него самих). Это означает, что «v = DKIM1» превратился в «v = dkim1», что является недопустимой версией. Это также означает, что он превратился хешем base64 во все строчные буквы, тем самым нарушив его.
Теперь связываюсь с моим хозяином, чтобы заставить их изменить свою систему. Надеюсь, это кому-то поможет!
Эта проблема, по крайней мере, не связана с вашим ящиком для пингвинов, оставьте его в покое.
Начните с того, где вы управляете записями DNS и:
Удачи
dkim = нейтральный (плохая версия) header.i У меня такая же проблема, ответ здесь http://joyit.ru/home/36-exim-dkim-dkim-neutral-bad-version-header-i.html . Вам нужно добавить DKIM_CANON