php mail с подписью DKIM

Л2
На сайте с 26.01.2008
Offline
138
7174

Нужно оформить рассылку по современным требованиям с DKIM подписью

Сгенерировал ключи с помощью этого сервиса https://www.socketlabs.com/domainkey-dkim-generation-wizard/

Добавил запись на NS сервер

Скачал php скрипт для генерации подписи мэйла отсюда https://code.google.com/p/php-mail-domain-signer/

Настроил его (занес в соответствующие переменные: имя домена, селектор ключа и приватный ключ)

скрипт выдает такое:

DKIM-Signature: v=1; a=rsa-sha1; s=key1; d=mydomain.com; l=208;

t=1425675916; c=relaxed/relaxed;
h=from:to:subject:mime-version:date:message-id:content-type:content-transfer-encoding;
bh=q7y96jSTQYceRY3NtsGsfvzR+y8=;
b=RlglUen5tUodZcR/geGKqfdmVv/6GdUAi9jtIHzQBNu2e3m524rZMuyI7SMdEgUMTfbpemwR8J+8
sWpZCO3c0VFplxIrBhQnjWMfmo8YaeytA5C+AbKikS0dtbs6jVE3nREYCvdb3lR88QOx9OMNTYTN
e9DnvKEhTBEfSPv+/6Y=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=mydomain.com; s=key1;
h=from:to:subject:mime-version:date:message-id:content-type:content-transfer-encoding;
b=wths2Oonc1sBlGgGjizUUGxCm2WkLLV3BMjnqyWtANMzwpmRClOo19gVyvzqdci/43cF9wgfBVL0
ZdHigU8Y4nHSsB84IRbsVxx4tR6Y9IGwhO1YT7V0HFjX7uksE2N++9PzMp6vY8UPc0fsCnZ3BzSr
snSkr7ROTiK+D9D6Zic=
From: info@mydomain.com
To: It37fYWrA8deKT@dkimvalidator.com
Subject: Тест письмо2
MIME-Version: 1.0
Date: Sat, 07 Mar 2015 00:05:16 +0300
Message-ID: <3c5a1d70c5eaa5a7c8c96f72d58c944c1e5def3d@mydomain.com>
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

=D0=9F=D0=BE=D0=B7=D0=B4=D1=80=D0=B0=D0=B2=D0=BB=D1=8F=D1=8E...
=D0=92=D1=8B =D1=83=D1=81=D0=BF=D0=B5=D1=88=D0=BD=D0=BE =D0=BF=D0=BE=D0=B4=
=D0=BF=D0=B8=D1=81=D0=B0=D0=BB=D0=B8 =D0=BC=D1=8D=D0=B9=D0=BB...

я так понял это заголовок письма, который нужно передать в функцию mail

написал

mail($to, $subject, $body, $email_data)

где $email_data это и есть заголовок сформированный скриптом

а переменные $to, $subject, $body задаются в начале скрипта и, я так понимаю, участвуют в процессе формирования подписи

результат - письма вообще не отправляются.

Если задать нормальный заголовок

mail($to, $subject, $body, "Content-type: text/plain; charset=utf-8 \r\nFrom: ".$from)

письма отправляются, но, естественно без подписи

Как правильно все сделать?

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1

А почтовый сервер у вас локальный? Тогда лучше на уровне почтового сервера и настроить:

http://habrahabr.ru/post/114852/

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
Л2
На сайте с 26.01.2008
Offline
138
#2

у меня виртуальный хостинг

[umka]
На сайте с 25.05.2008
Offline
456
#3

Лучше попросите вашего хостинг-провайдера добавить подписи для писем с вашего домена.

Подписывание писем — задача почтового сервера.

А то, что вам выдал скрипт — это заголовок и тело письма (после пустой строки).

В заголовке Subject присутствует ошибка, не-ASCII символы должны быть в MIME-кодировке, иначе заголовок считается неправильно сформированным.

Из-за этого многие почтовые серверы могут складывать такие письма в спам, а при формировании/проверке подписи может быть ошибка.

Лог в помощь!
Л2
На сайте с 26.01.2008
Offline
138
#4
'[umka:
;13565208']Лучше попросите вашего хостинг-провайдера добавить подписи для писем с вашего домена.
Подписывание писем — задача почтового сервера.

Вы мой хостинг, сейчас напишу )))) Спасибо, Оптимизайка, за внимание к моему вопросу!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий