[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"cms-term-dkim-en":3,"cms-terms-fields%5B0%5D=title&fields%5B1%5D=slug&fields%5B2%5D=definition&sort=title%3Aasc&locale=en&filters%5Btitle%5D%5B%24startsWithi%5D=D&pagination%5BpageSize%5D=7":33},{"data":4,"meta":29},[5],{"id":6,"documentId":7,"title":8,"slug":9,"definition":10,"bodyHtml":11,"createdAt":12,"updatedAt":12,"publishedAt":13,"locale":14,"seo":15,"localizations":20},20,"y8hndxpaa5wqdutzostwmb5b","DKIM Signature","dkim","What DKIM is in plain terms, how to add the DNS record, check the signature in email headers and choose a key length. + 6 mistakes that make DKIM checks fail.","\u003Cp>DKIM (DomainKeys Identified Mail) is a digital signature that the mail server adds to every outgoing email. The public key is published in the domain's DNS, and the receiving server uses it to verify that the email came from your domain and was not altered in transit. Gmail requires DKIM from anyone sending more than 5,000 emails a day.\u003C/p>\n\u003Cp>Below is a step-by-step setup guide and six mistakes that leave DKIM failing even though the DNS record exists. Each comes with the symptom in the headers and the fix.\u003C/p>\n\u003Ch2>At a glance: DKIM in numbers\u003C/h2>\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>\u003Cstrong>Fact\u003C/strong>\u003C/th>\u003Cth>\u003Cstrong>Value\u003C/strong>\u003C/th>\u003Cth>\u003Cstrong>Source\u003C/strong>\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>Standard\u003C/td>\u003Ctd>RFC 6376, 2011\u003C/td>\u003Ctd>\u003Ca href=\"https://datatracker.ietf.org/doc/html/rfc6376\">IETF\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Minimum RSA key length\u003C/td>\u003Ctd>1,024 bits, 2,048 recommended\u003C/td>\u003Ctd>\u003Ca href=\"https://datatracker.ietf.org/doc/html/rfc8301\">RFC 8301,\u003C/a> \u003Ca href=\"https://datatracker.ietf.org/doc/html/rfc8301\">2018\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Gmail key requirement\u003C/td>\u003Ctd>at least 1,024 bits, preferably 2,048\u003C/td>\u003Ctd>\u003Ca href=\"https://support.google.com/mail/answer/81126?hl=en\">Google, 2024\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>When DKIM is mandatory in Gmail and Outlook\u003C/td>\u003Ctd>from 5,000 emails a day\u003C/td>\u003Ctd>\u003Ca href=\"https://support.google.com/mail/answer/81126?hl=en\">Google,\u003C/a> \u003Ca href=\"https://dmarcian.com/microsoft-enforces-spf-dkim-dmarc/\">dmarcian\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Which domain Mail.ru Postmaster statistics are built on\u003C/td>\u003Ctd>the domain in the DKIM signature (d= tag)\u003C/td>\u003Ctd>\u003Ca href=\"https://help.mail.ru/developers/postmaster/statistics/\">Mail.ru\u003C/a>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Ch2>How a DKIM signature works\u003C/h2>\n\u003Cp>DKIM uses a key pair: the private key lives on the mail server, the public key in DNS.\u003C/p>\n\u003Col>\u003Cli>The sending server computes a hash of the email body and selected headers (From, Subject, Date).\u003C/li>\u003Cli>It signs the hash with the private key and adds a \u003Ccode>DKIM-Signature\u003C/code> header with the domain (d=) and selector (s=).\u003C/li>\u003Cli>The receiving server fetches the public key from \u003Ccode>selector._domainkey.domain\u003C/code>.\u003C/li>\u003Cli>It verifies the signature. If the email was altered in transit or the key doesn't match, the result is fail.\u003C/li>\u003C/ol>\n\u003Cp>\u003Cstrong>The key difference from SPF: DKIM survives forwarding.\u003C/strong> SPF checks the server's IP, which changes when an email is forwarded. The DKIM signature stays in the email as long as its content is unchanged.\u003C/p>\n\u003Ch2>What a DKIM record and signature are made of\u003C/h2>\n\u003Cp>The DNS record is a TXT record on the \u003Ccode>selector._domainkey\u003C/code> subdomain:\u003C/p>\n\u003Cp>mail._domainkey.company.com TXT &#34;v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...&#34;\u003C/p>\n\u003Cp>The signature in the email is a header with a set of tags:\u003C/p>\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>\u003Cstrong>Tag\u003C/strong>\u003C/th>\u003Cth>\u003Cstrong>Where\u003C/strong>\u003C/th>\u003Cth>\u003Cstrong>Meaning\u003C/strong>\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ccode>v=DKIM 1\u003C/code>\u003C/td>\u003Ctd>DNS\u003C/td>\u003Ctd>Record version\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode>k=rsa\u003C/code>\u003C/td>\u003Ctd>DNS\u003C/td>\u003Ctd>Key algorithm\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode>p=\u003C/code>\u003C/td>\u003Ctd>DNS\u003C/td>\u003Ctd>Public key; an empty value means the key is revoked\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode>d=\u003C/code>\u003C/td>\u003Ctd>Email\u003C/td>\u003Ctd>The domain that signed the email\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode>s=\u003C/code>\u003C/td>\u003Ctd>Email\u003C/td>\u003Ctd>Selector used to find the key in DNS\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode>h=\u003C/code>\u003C/td>\u003Ctd>Email\u003C/td>\u003Ctd>Signed headers\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode>bh=\u003C/code> / \u003Ccode>b=\u003C/code>\u003C/td>\u003Ctd>Email\u003C/td>\u003Ctd>Body hash and the signature itself\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Ch2>How to set up DKIM for a domain\u003C/h2>\n\u003Cp>Setup takes 10–15 minutes plus time for DNS to update.\u003C/p>\n\u003Col>\u003Cli>\u003Cstrong>Generate a key\u003C/strong> in the admin panel of your mail provider (Yandex 360, VK WorkSpace, Google Workspace, Microsoft 365) or sending tool. Choose 2,048 bits if you have the option.\u003C/li>\u003Cli>\u003Cstrong>Copy the host and value\u003C/strong> of the TXT record in full, without line breaks.\u003C/li>\u003Cli>\u003Cstrong>Add the TXT record\u003C/strong> to DNS: a host like \u003Ccode>mail._domainkey\u003C/code> and a value like \u003Ccode>v=DKIM1; k=rsa; p=...\u003C/code>.\u003C/li>\u003Cli>\u003Cstrong>Turn on signing\u003C/strong> in your mail provider's panel once the record has propagated. Many providers have a separate button for this.\u003C/li>\u003Cli>\u003Cstrong>Check the result\u003C/strong> — see the section below.\u003C/li>\u003C/ol>\n\u003Cp>If several services send your email, each gets its own selector and its own DKIM record. Unlike SPF, you can have as many as you need.\u003C/p>\n\u003Cp>In Holymailer, DKIM together with SPF, DMARC and MX is \u003Ca href=\"https://holymailer.com/capabilities\">configured automatically\u003C/a> for every domain and \u003Ca href=\"https://holymailer.com/resources/deliverability\">checked daily.\u003C/a>\u003C/p>\n\u003Ch2>How to check a DKIM signature\u003C/h2>\n\u003Cp>Send an email to Gmail or Mail.ru and open the headers. Look for the \u003Ccode>Authentication-Results\u003C/code> line:\u003C/p>\n\u003Cp>Authentication-Results: mx.google.com; dkim=pass header.d=company.com header.s=mail; spf=pass smtp.mailfrom=company.com; dmarc=pass header.from=company.com\u003C/p>\n\u003Cp>Check two things: \u003Ccode>dkim=pass\u003C/code>, and that \u003Ccode>header.d\u003C/code> matches the domain in the From field. To confirm the key is published, run \u003Ccode>dig TXT mail._domainkey.company.com +short\u003C/code>\u003Ca href=\"https://help.mail.ru/developers/notes/authentication/\">.\u003C/a> \u003Ca href=\"https://help.mail.ru/developers/notes/authentication/\">Mail.ru's help\u003C/a> (in Russian) describes the same check.\u003C/p>\n\u003Ch2>6 mistakes that make DKIM fail\u003C/h2>\n\u003Cp>A record in DNS doesn't yet mean DKIM works. Here's what breaks most often.\u003C/p>\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>\u003Cstrong>#\u003C/strong>\u003C/th>\u003Cth>\u003Cstrong>Mistake\u003C/strong>\u003C/th>\u003Cth>\u003Cstrong>Symptom in\u003C/strong> \u003Cstrong>headers\u003C/strong>\u003C/th>\u003Cth>\u003Cstrong>Fix\u003C/strong>\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>1\u003C/td>\u003Ctd>Record published, but signing not enabled at the mail provider\u003C/td>\u003Ctd>\u003Ccode>dkim=none\u003C/code> or no DKIM-Signature header\u003C/td>\u003Ctd>Click “Enable signing” in the admin panel\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>2\u003C/td>\u003Ctd>Key truncated or corrupted when copying: spaces, line breaks, extra quotes\u003C/td>\u003Ctd>\u003Ccode>dkim=fail\u003C/code> or \u003Ccode>permerror\u003C/code>\u003C/td>\u003Ctd>Copy the key again; split a long key into 255-character strings if your DNS provider requires it\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>3\u003C/td>\u003Ctd>Wrong host: the DNS panel appended the domain, giving \u003Ccode>mail._domainkey.company.com.company.com\u003C/code>\u003C/td>\u003Ctd>\u003Ccode>dkim=temperr or\u003C/code> or permerror with “no key for signature”\u003C/td>\u003Ctd>Enter only \u003Ccode>mail._domainke y\u003C/code> as the host\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>4\u003C/td>\u003Ctd>The d= domain doesn't match the From domain\u003C/td>\u003Ctd>\u003Ccode>dkim=pass\u003C/code> but \u003Ccode>dmarc=fail\u003C/code>\u003C/td>\u003Ctd>Set up signing with your own domain in the sending tool\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>5\u003C/td>\u003Ctd>Emails are signed by the sending tool's domain, not yours\u003C/td>\u003Ctd>\u003Ccode>header.d=\u003C/code> shows someone else's domain\u003C/td>\u003Ctd>Connect your own DKIM. Otherwise reputation and \u003Ca href=\"https://help.mail.ru/developers/postmaster/statistics/\">Mail.ru Postmaster\u003C/a> statistics go to the tool's domain\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>6\u003C/td>\u003Ctd>Short key: 512 or 768 bits\u003C/td>\u003Ctd>\u003Ccode>dkim=fail\u003C/code> or “policy (weak key)” in Gmail\u003C/td>\u003Ctd>Generate a new 2,048-bit key\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cp>If DKIM passes and emails still land in spam, the cause is no longer authentication. Run the 15-minute deliverability diagnostic and check whether the mailbox is warmed up.\u003C/p>\n\u003Ch2>Frequently asked questions\u003C/h2>\n\u003Cp>\u003Cstrong>What is DKIM in simple terms?\u003C/strong>\u003C/p>\n\u003Cp>It's a digital signature on an email. It proves to the recipient that the email was sent from your domain and nobody changed it along the way.\u003C/p>\n\u003Cp>\u003Cstrong>How is DKIM different from SPF?\u003C/strong>\u003C/p>\n\u003Cp>SPF checks which server the email came from. DKIM checks the email itself through a signature, which is why it survives forwarding. You need both.\u003C/p>\n\u003Cp>\u003Cstrong>Which DKIM key length should I choose: 1024 or 2048?\u003C/strong>\u003C/p>\n\u003Cp>2,048 bits. RFC 8301 requires at least 1,024 and recommends 2,048, and Google also advises 2,048 if your DNS provider supports it.\u003C/p>\n\u003Cp>\u003Cstrong>Why does DKIM pass but DMARC fail?\u003C/strong>\u003C/p>\n\u003Cp>The email is signed by a domain that doesn't match the From domain — most often the sending tool's domain. Set up signing with your own domain.\u003C/p>\n\u003Cp>\u003Cstrong>Why does DKIM break when an email is forwarded?\u003C/strong>\u003C/p>\n\u003Cp>The signature breaks if an intermediate server altered the email: added an antivirus footer, rewrote the subject or links. With plain forwarding and no changes, the signature survives.\u003C/p>\n\u003Cp>\u003Cstrong>Can a domain have several DKIM records?\u003C/strong>\u003C/p>\n\u003Cp>Yes. Each service has its own selector, for example \u003Ccode>mail._domainkey\u003C/code> for email and \u003Ccode>crm._domainkey\u003C/code> for your CRM, and the records don't conflict.\u003C/p>\n\u003Ch2>Sources\u003C/h2>\n\u003Cul>\u003Cli>\u003Ca href=\"https://datatracker.ietf.org/doc/html/rfc6376\">RFC 6376: DomainKeys Identified Mail Signatures\u003C/a> — the DKIM standard, 2011.\u003C/li>\u003Cli>\u003Ca href=\"https://datatracker.ietf.org/doc/html/rfc8301\">RFC 8301: Cryptographic Algorithm and Key Usage Update to DKIM\u003C/a> — key length requirements, 2018.\u003C/li>\u003Cli>\u003Ca href=\"https://support.google.com/mail/answer/81126?hl=en\">Google: Email sender guidelines\u003C/a> — in force since February 1, 2024.\u003C/li>\u003Cli>\u003Ca href=\"https://dmarcian.com/microsoft-enforces-spf-dkim-dmarc/\">dmarcian: Microsoft Enforces SPF, DKIM, DMARC\u003C/a> — since May 5, 2025.\u003C/li>\u003Cli>\u003Ca href=\"https://help.mail.ru/developers/postmaster/statistics/\">Mail.ru: domain statistics in Postmaster\u003C/a> (in Russian).\u003C/li>\u003Cli>\u003Ca href=\"https://help.mail.ru/developers/notes/authentication/\">Mail.ru: how to check SPF, DKIM, DMARC in an email\u003C/a> (in Russian).\u003C/li>\u003C/ul>\n\u003Ch2>JSON-LD markup\u003C/h2>\n\u003Cp>{ &#34;@context&#34;: &#34;https://schema.org&#34;, &#34;@graph&#34;: [ { &#34;@type&#34;: &#34;Article&#34;, &#34;inLanguage&#34;: &#34;en&#34;, &#34;headline&#34;: &#34;DKIM Signature: Setup, Checks and 6 Common Mistakes&#34;, &#34;author&#34;: {&#34;@type&#34;: &#34;Person&#34;, &#34;name&#34;: &#34;[Author name]&#34;, &#34;jobTitle&#34;: &#34;[Job title]&#34;}, &#34;datePublished&#34;: &#34;2026-09-30&#34;, &#34;dateModified&#34;: &#34;2026-09-30&#34;, &#34;publisher&#34;: {&#34;@type&#34;: &#34;Organization&#34;, &#34;name&#34;: &#34;Holymailer&#34;, &#34;url&#34;: &#34;https://holymailer.com&#34;} }, { &#34;@type&#34;: &#34;HowTo&#34;, &#34;name&#34;: &#34;How to set up DKIM for a domain&#34;, &#34;step&#34;: [ {&#34;@type&#34;: &#34;HowToStep&#34;, &#34;text&#34;: &#34;Generate a 2048-bit key in your mail provider's admin panel.&#34;}, {&#34;@type&#34;: &#34;HowToStep&#34;, &#34;text&#34;: &#34;Copy the host and value of the TXT record in full.&#34;}, {&#34;@type&#34;: &#34;HowToStep&#34;, &#34;text&#34;: &#34;Add a TXT record with a host like mail._domainkey to DNS.&#34;}, {&#34;@type&#34;: &#34;HowToStep&#34;, &#34;text&#34;: &#34;Turn on signing in your mail provider's panel.&#34;}, {&#34;@type&#34;: &#34;HowToStep&#34;, &#34;text&#34;: &#34;Check for dkim=pass and that header.d matches the sender domain in a test email's headers.&#34;} ] }, { &#34;@type&#34;: &#34;FAQPage&#34;, &#34;mainEntity&#34;: [ {&#34;@type&#34;: &#34;Question&#34;, &#34;name&#34;: &#34;What is DKIM in simple terms?&#34;, &#34;acceptedAnswer&#34;: {&#34;@type&#34;: &#34;Answer&#34;, &#34;text&#34;: &#34;It's a digital signature on an email. It proves to the recipient that the email was sent from your domain and nobody changed it along the way.&#34;}}, {&#34;@type&#34;: &#34;Question&#34;, &#34;name&#34;: &#34;How is DKIM different from SPF?&#34;, &#34;acceptedAnswer&#34;: {&#34;@type&#34;: &#34;Answer&#34;, &#34;text&#34;: &#34;SPF checks which server the email came from. DKIM checks the email itself through a signature, which is why it survives forwarding.&#34;}}, {&#34;@type&#34;: &#34;Question&#34;, &#34;name&#34;: &#34;Which DKIM key length should I choose: 1024 or 2048?&#34;, &#34;acceptedAnswer&#34;: {&#34;@type&#34;: &#34;Answer&#34;, &#34;text&#34;: &#34;2048 bits. RFC 8301 requires at least 1024 and recommends 2048, and Google also advises 2048.&#34;}}, {&#34;@type&#34;: &#34;Question&#34;, &#34;name&#34;: &#34;Why does DKIM pass but DMARC fail?&#34;, &#34;acceptedAnswer&#34;: {&#34;@type&#34;: &#34;Answer&#34;, &#34;text&#34;: &#34;The email is signed by a domain that doesn't match the From domain, most often the sending tool's domain. Set up signing with your own domain.&#34;}}, {&#34;@type&#34;: &#34;Question&#34;, &#34;name&#34;: &#34;Why does DKIM break when an email is forwarded?&#34;, &#34;acceptedAnswer&#34;: {&#34;@type&#34;: &#34;Answer&#34;, &#34;text&#34;: &#34;The signature breaks if an intermediate server altered the email: added a footer, rewrote the subject or links. With plain forwarding and no changes, the signature survives.&#34;}}, {&#34;@type&#34;: &#34;Question&#34;, &#34;name&#34;: &#34;Can a domain have several DKIM records?&#34;, &#34;acceptedAnswer&#34;: {&#34;@type&#34;: &#34;Answer&#34;, &#34;text&#34;: &#34;Yes. Each service has its own selector, for example mail._domainkey and crm._domainkey, and the records don't conflict.&#34;}} ] } ] }\u003C/p>","2026-10-01T15:14:16.339Z","2026-10-01T15:14:16.342Z","en",{"id":16,"metaTitle":17,"metaDescription":10,"keywords":18,"canonical":18,"noindex":19},116,"DKIM Signature: Setup, Checks and 6 Common Mistakes",null,false,[21],{"id":22,"documentId":7,"title":23,"slug":9,"definition":24,"bodyHtml":25,"createdAt":26,"updatedAt":26,"publishedAt":27,"locale":28},18,"DKIM-подпись","Что такое DKIM простыми словами, как добавить запись в DNS, проверить подпись в заголовках и выбрать длину ключа. + 6 ошибок, из-за которых DKIM не проходит.","\u003Cp>DKIM (DomainKeys Identified Mail) — цифровая подпись, которую почтовый сервер добавляет к каждому письму. Открытый ключ публикуется в DNS домена, и сервер получателя проверяет по нему, что письмо отправлено с вашего домена и не изменено в пути. Gmail требует DKIM от всех, кто отправляет более 5 000 писем в день.\u003C/p>\n\u003Cp>Ниже — пошаговая настройка и шесть ошибок, из-за которых запись в DNS есть, а DKIM всё равно не проходит. У каждой — признак в заголовках и способ исправить.\u003C/p>\n\u003Ch2>Коротко: DKIM в цифрах\u003C/h2>\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>\u003Cstrong>Факт\u003C/strong>\u003C/th>\u003Cth>\u003Cstrong>Значение\u003C/strong>\u003C/th>\u003Cth>\u003Cstrong>Источник\u003C/strong>\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>Стандарт\u003C/td>\u003Ctd>RFC 6376, 2011\u003C/td>\u003Ctd>\u003Ca href=\"https://datatracker.ietf.org/doc/html/rfc6376\">IETF\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Минимальная длина RSA-ключа\u003C/td>\u003Ctd>1 024 бита, рекомендуется 2 048\u003C/td>\u003Ctd>\u003Ca href=\"https://datatracker.ietf.org/doc/html/rfc8301\">RFC 8301,\u003C/a> \u003Ca href=\"https://datatracker.ietf.org/doc/html/rfc8301\">2018\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Требование Gmail к ключу\u003C/td>\u003Ctd>не короче 1 024 бит, предпочтительно 2 048\u003C/td>\u003Ctd>\u003Ca href=\"https://support.google.com/mail/answer/81126?hl=en\">Google, 2024\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>Когда DKIM обязателен в Gmail и Outlook\u003C/td>\u003Ctd>от 5 000 писем в день\u003C/td>\u003Ctd>\u003Ca href=\"https://support.google.com/mail/answer/81126?hl=en\">Google\u003C/a>, \u003Ca href=\"https://dmarcian.com/microsoft-enforces-spf-dkim-dmarc/\">dmarcian\u003C/a>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>По какому домену строится статистика Постмастера Mail.ru\u003C/td>\u003Ctd>по домену из DKIM-подписи (тег d=)\u003C/td>\u003Ctd>\u003Ca href=\"https://help.mail.ru/developers/postmaster/statistics/\">Mail.ru\u003C/a>\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Ch2>Как работает DKIM-подпись\u003C/h2>\n\u003Cp>DKIM работает на паре ключей: закрытый хранится на почтовом сервере, открытый — в DNS.\u003C/p>\n\u003Col>\u003Cli>Сервер отправителя считает хеш тела письма и выбранных заголовков (From, Subject, Date).\u003C/li>\u003Cli>Подписывает его закрытым ключом и добавляет заголовок \u003Ccode>DKIM-Signature\u003C/code> с доменом (d=) и селектором (s=).\u003C/li>\u003Cli>Сервер получателя берёт открытый ключ по адресу \u003Ccode>селектор._domainkey.домен\u003C/code>.\u003C/li>\u003Cli>Проверяет подпись. Если письмо изменили в пути или ключ не подходит — результат fail.\u003C/li>\u003C/ol>\n\u003Cp>\u003Cstrong>Главное отличие от SPF: DKIM переживает пересылку.\u003C/strong> SPF проверяет IP сервера, и при пересылке он меняется. Подпись DKIM остаётся в письме, пока его содержимое не изменено.\u003C/p>\n\u003Ch2>Из чего состоит DKIM-запись и DKIM-подпись\u003C/h2>\n\u003Cp>Запись в DNS — это TXT на поддомене \u003Ccode>селектор._domainkey\u003C/code>:\u003C/p>\n\u003Cp>mail._domainkey.company.ru TXT &#34;v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...&#34;\u003C/p>\n\u003Cp>Подпись в письме — заголовок с набором тегов:\u003C/p>\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>\u003Cstrong>Тег\u003C/strong>\u003C/th>\u003Cth>\u003Cstrong>Где\u003C/strong>\u003C/th>\u003Cth>\u003Cstrong>Что означает\u003C/strong>\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>\u003Ccode>v=DKIM 1\u003C/code>\u003C/td>\u003Ctd>DNS\u003C/td>\u003Ctd>Версия записи\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode>k=rsa\u003C/code>\u003C/td>\u003Ctd>DNS\u003C/td>\u003Ctd>Алгоритм ключа\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode>p=\u003C/code>\u003C/td>\u003Ctd>DNS\u003C/td>\u003Ctd>Открытый ключ; пустое значение означает, что ключ отозван\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode>d=\u003C/code>\u003C/td>\u003Ctd>Письмо\u003C/td>\u003Ctd>Домен, который подписал письмо\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode>s=\u003C/code>\u003C/td>\u003Ctd>Письмо\u003C/td>\u003Ctd>Селектор: по нему ищется ключ в DNS\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode>h=\u003C/code>\u003C/td>\u003Ctd>Письмо\u003C/td>\u003Ctd>Подписанные заголовки\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>\u003Ccode>bh=\u003C/code> / \u003Ccode>b=\u003C/code>\u003C/td>\u003Ctd>Письмо\u003C/td>\u003Ctd>Хеш тела и сама подпись\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Ch2>Как настроить DKIM для домена\u003C/h2>\n\u003Cp>Настройка занимает 10–15 минут плюс время на обновление DNS.\u003C/p>\n\u003Col>\u003Cli>\u003Cstrong>Сгенерируйте ключ\u003C/strong> в админ-панели почтового сервиса (Яндекс 360, VK WorkSpace, Google Workspace, Microsoft 365) или сервиса рассылок. Выбирайте 2 048 бит, если есть выбор.\u003C/li>\u003Cli>\u003Cstrong>Скопируйте хост и значение\u003C/strong> TXT-записи целиком, без переносов строк.\u003C/li>\u003Cli>\u003Cstrong>Добавьте TXT-запись\u003C/strong> в DNS: хост вида \u003Ccode>mail._domainkey\u003C/code>, значение \u003Ccode>v=DKIM1; k=rsa; p=...\u003C/code>.\u003C/li>\u003Cli>\u003Cstrong>Включите подпись\u003C/strong> в панели почтового сервиса после того, как запись обновилась. Во многих сервисах это отдельная кнопка.\u003C/li>\u003Cli>\u003Cstrong>Проверьте результат\u003C/strong> — см. раздел ниже.\u003C/li>\u003C/ol>\n\u003Cp>Если письма отправляют несколько сервисов, у каждого будет свой селектор и своя DKIM-запись. В отличие от SPF, их можно иметь сколько угодно.\u003C/p>\n\u003Cp>В Holymailer DKIM вместе с SPF, DMARC и MX \u003Ca href=\"https://holymailer.com/ru/capabilities\">настраивается автоматически\u003C/a> для каждого домена \u003Ca href=\"https://holymailer.com/ru/resources/deliverability\">и проверяется ежедневно\u003C/a>.\u003C/p>\n\u003Ch2>Как проверить DKIM-подпись\u003C/h2>\n\u003Cp>Отправьте письмо на Gmail или Mail.ru и откройте заголовки. Ищите строку \u003Ccode>Authentication-Results\u003C/code>:\u003C/p>\n\u003Cp>Authentication-Results: mx.google.com; dkim=pass header.d=company.ru header.s=mail; spf=pass smtp.mailfrom=company.ru; dmarc=pass header.from=company.ru\u003C/p>\n\u003Cp>Проверяйте две вещи: \u003Ccode>dkim=pass\u003C/code> и что \u003Ccode>header.d\u003C/code> совпадает с доменом в поле «От». Чтобы убедиться, что ключ опубликован, выполните \u003Ccode>dig TXT mail._domainkey.company.ru +short\u003C/code>. Ту же проверку описывает \u003Ca href=\"https://help.mail.ru/developers/notes/authentication/\">справка Mail.ru.\u003C/a>\u003C/p>\n\u003Ch2>6 ошибок, из-за которых DKIM не проходит\u003C/h2>\n\u003Cp>Запись в DNS есть — ещё не значит, что DKIM работает. Вот что ломается чаще всего.\u003C/p>\n\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>\u003Cstrong>#\u003C/strong>\u003C/th>\u003Cth>\u003Cstrong>Ошибка\u003C/strong>\u003C/th>\u003Cth>\u003Cstrong>Признак в\u003C/strong> \u003Cstrong>заголовках\u003C/strong>\u003C/th>\u003Cth>\u003Cstrong>Как исправить\u003C/strong>\u003C/th>\u003C/tr>\u003C/thead>\u003Ctbody>\u003Ctr>\u003Ctd>1\u003C/td>\u003Ctd>Запись опубликована, но подпись не включена в почтовом сервисе\u003C/td>\u003Ctd>\u003Ccode>dkim=none\u003C/code> или нет заголовка DKIM-Signature\u003C/td>\u003Ctd>Нажать «Включить подпись» в админ-панели\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>2\u003C/td>\u003Ctd>Ключ обрезан или испорчен при копировании: пробелы, переносы, лишние кавычки\u003C/td>\u003Ctd>\u003Ccode>dkim=fail\u003C/code> или \u003Ccode>permerror\u003C/code>\u003C/td>\u003Ctd>Скопировать ключ заново; длинный ключ разбить на строки по 255 символов, если так требует DNS-провайдер\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>3\u003C/td>\u003Ctd>Неверный хост: панель DNS сама дописала домен, и получилось \u003Ccode>mail._domainkey.company.ru.compan y.ru\u003C/code>\u003C/td>\u003Ctd>\u003Ccode>dkim=temperro r\u003C/code> или permerror с пометкой «no key for signature»\u003C/td>\u003Ctd>Указать в хосте только \u003Ccode>mail._domainke y\u003C/code>\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>4\u003C/td>\u003Ctd>Домен в d= не совпадает с доменом в поле «От»\u003C/td>\u003Ctd>\u003Ccode>dkim=pass\u003C/code>, но \u003Ccode>dmarc=fail\u003C/code>\u003C/td>\u003Ctd>Настроить подпись своим доменом в сервисе рассылок\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>5\u003C/td>\u003Ctd>Письма подписывает домен сервиса рассылок, а не ваш\u003C/td>\u003Ctd>\u003Ccode>header.d=\u003C/code> с чужим доменом\u003C/td>\u003Ctd>Подключить собственный DKIM. Иначе репутация и статистика \u003Ca href=\"https://help.mail.ru/developers/postmaster/statistics/\">Постмастера\u003C/a> \u003Ca href=\"https://help.mail.ru/developers/postmaster/statistics/\">Mail.ru\u003C/a> уходят домену сервиса\u003C/td>\u003C/tr>\u003Ctr>\u003Ctd>6\u003C/td>\u003Ctd>Короткий ключ: 512 или 768 бит\u003C/td>\u003Ctd>\u003Ccode>dkim=fail\u003C/code> или \u003Ccode>«policy (weak key)»\u003C/code> в Gmail\u003C/td>\u003Ctd>Сгенерировать новый ключ на 2 048 бит\u003C/td>\u003C/tr>\u003C/tbody>\u003C/table>\n\u003Cp>Если DKIM проходит, а письма всё равно в спаме, причина уже не в аутентификации. Пройдите диагностику доставляемости за 15 минут и проверьте, прогрет ли ящик.\u003C/p>\n\u003Ch2>Часто задаваемые вопросы\u003C/h2>\n\u003Cp>\u003Cstrong>Что такое DKIM простыми словами?\u003C/strong>\u003C/p>\n\u003Cp>Это цифровая подпись письма. Она доказывает получателю, что письмо отправлено с вашего домена и никто не изменил его по дороге.\u003C/p>\n\u003Cp>\u003Cstrong>Чем DKIM отличается от SPF?\u003C/strong>\u003C/p>\n\u003Cp>SPF проверяет, с какого сервера пришло письмо. DKIM проверяет само письмо через подпись и поэтому сохраняется при пересылке. Нужны оба механизма.\u003C/p>\n\u003Cp>\u003Cstrong>Какую длину ключа DKIM выбрать: 1024 или 2048?\u003C/strong>\u003C/p>\n\u003Cp>2 048 бит. RFC 8301 требует не меньше 1 024 и рекомендует 2 048, Google также советует 2 048, если DNS-провайдер его поддерживает.\u003C/p>\n\u003Cp>\u003Cstrong>Почему DKIM проходит, а DMARC — нет?\u003C/strong>\u003C/p>\n\u003Cp>Письмо подписано доменом, который не совпадает с доменом в поле «От». Чаще всего это домен сервиса рассылок. Настройте подпись собственным доменом.\u003C/p>\n\u003Cp>\u003Cstrong>Почему DKIM ломается при пересылке?\u003C/strong>\u003C/p>\n\u003Cp>Подпись ломается, если промежуточный сервер изменил письмо: добавил футер антивируса, переписал тему или ссылки. При обычной пересылке без изменений подпись сохраняется.\u003C/p>\n\u003Cp>\u003Cstrong>Можно ли иметь несколько DKIM-записей на одном домене?\u003C/strong>\u003C/p>\n\u003Cp>Да. У каждого сервиса свой селектор, например \u003Ccode>mail._domainkey\u003C/code> для почты и \u003Ccode>crm._domainkey\u003C/code> для CRM, и записи не конфликтуют.\u003C/p>\n\u003Ch2>Источники\u003C/h2>\n\u003Cul>\u003Cli>\u003Ca href=\"https://datatracker.ietf.org/doc/html/rfc6376\">RFC 6376: DomainKeys Identified Mail Signatures\u003C/a> — стандарт DKIM, 2011.\u003C/li>\u003Cli>\u003Ca href=\"https://datatracker.ietf.org/doc/html/rfc8301\">RFC 8301: Cryptographic Algorithm and Key Usage Update to DKIM\u003C/a> — требования к длине ключа, 2018.\u003C/li>\u003Cli>\u003Ca href=\"https://support.google.com/mail/answer/81126?hl=en\">Google: Email sender guidelines\u003C/a> — действуют с 1 февраля 2024.\u003C/li>\u003Cli>\u003Ca href=\"https://dmarcian.com/microsoft-enforces-spf-dkim-dmarc/\">dmarcian: Microsoft Enforces SPF, DKIM, DMARC\u003C/a> — с 5 мая 2025.\u003C/li>\u003Cli>\u003Ca href=\"https://help.mail.ru/developers/postmaster/statistics/\">Mail.ru: статистика по домену в Постмастере.\u003C/a>\u003C/li>\u003Cli>\u003Ca href=\"https://help.mail.ru/developers/notes/authentication/\">Mail.ru: как проверить SPF, DKIM, DMARC в письме.\u003C/a>\u003C/li>\u003C/ul>\n\u003Ch2>Разметка JSON-LD\u003C/h2>\n\u003Cp>{ &#34;@context&#34;: &#34;https://schema.org&#34;, &#34;@graph&#34;: [ { &#34;@type&#34;: &#34;Article&#34;, &#34;headline&#34;: &#34;DKIM-подпись: настройка, проверка и 6 частых ошибок&#34;, &#34;author&#34;: {&#34;@type&#34;: &#34;Person&#34;, &#34;name&#34;: &#34;[Имя автора]&#34;, &#34;jobTitle&#34;: &#34;[Должность]&#34;}, &#34;datePublished&#34;: &#34;2026-09-30&#34;, &#34;dateModified&#34;: &#34;2026-09-30&#34;, &#34;publisher&#34;: {&#34;@type&#34;: &#34;Organization&#34;, &#34;name&#34;: &#34;Holymailer&#34;, &#34;url&#34;: &#34;https://holymailer.com&#34;} }, { &#34;@type&#34;: &#34;HowTo&#34;, &#34;name&#34;: &#34;Как настроить DKIM для домена&#34;, &#34;step&#34;: [ {&#34;@type&#34;: &#34;HowToStep&#34;, &#34;text&#34;: &#34;Сгенерируйте ключ 2048 бит в админ-панели почтового сервиса.&#34;}, {&#34;@type&#34;: &#34;HowToStep&#34;, &#34;text&#34;: &#34;Скопируйте хост и значение TXT-записи целиком.&#34;}, {&#34;@type&#34;: &#34;HowToStep&#34;, &#34;text&#34;: &#34;Добавьте TXT-запись с хостом вида mail._domainkey в DNS.&#34;}, {&#34;@type&#34;: &#34;HowToStep&#34;, &#34;text&#34;: &#34;Включите подпись в панели почтового сервиса.&#34;}, {&#34;@type&#34;: &#34;HowToStep&#34;, &#34;text&#34;: &#34;Проверьте dkim=pass и совпадение header.d с доменом отправителя в заголовках тестового письма.&#34;} ] }, { &#34;@type&#34;: &#34;FAQPage&#34;, &#34;mainEntity&#34;: [ {&#34;@type&#34;: &#34;Question&#34;, &#34;name&#34;: &#34;Что такое DKIM простыми словами?&#34;, &#34;acceptedAnswer&#34;: {&#34;@type&#34;: &#34;Answer&#34;, &#34;text&#34;: &#34;Это цифровая подпись письма. Она доказывает получателю, что письмо отправлено с вашего домена и никто не изменил его по дороге.&#34;}}, {&#34;@type&#34;: &#34;Question&#34;, &#34;name&#34;: &#34;Чем DKIM отличается от SPF?&#34;, &#34;acceptedAnswer&#34;: {&#34;@type&#34;: &#34;Answer&#34;, &#34;text&#34;: &#34;SPF проверяет, с какого сервера пришло письмо. DKIM проверяет само письмо через подпись и поэтому сохраняется при пересылке.&#34;}}, {&#34;@type&#34;: &#34;Question&#34;, &#34;name&#34;: &#34;Какую длину ключа DKIM выбрать: 1024 или 2048?&#34;, &#34;acceptedAnswer&#34;: {&#34;@type&#34;: &#34;Answer&#34;, &#34;text&#34;: &#34;2048 бит. RFC 8301 требует не меньше 1024 и рекомендует 2048, Google также советует 2048.&#34;}}, {&#34;@type&#34;: &#34;Question&#34;, &#34;name&#34;: &#34;Почему DKIM проходит, а DMARC — нет?&#34;, &#34;acceptedAnswer&#34;: {&#34;@type&#34;: &#34;Answer&#34;, &#34;text&#34;: &#34;Письмо подписано доменом, который не совпадает с доменом в поле «От», чаще всего доменом сервиса рассылок. Настройте подпись собственным доменом.&#34;}}, {&#34;@type&#34;: &#34;Question&#34;, &#34;name&#34;: &#34;Почему DKIM ломается при пересылке?&#34;, &#34;acceptedAnswer&#34;: {&#34;@type&#34;: &#34;Answer&#34;, &#34;text&#34;: &#34;Подпись ломается, если промежуточный сервер изменил письмо: добавил футер, переписал тему или ссылки. При пересылке без изменений подпись сохраняется.&#34;}}, {&#34;@type&#34;: &#34;Question&#34;, &#34;name&#34;: &#34;Можно ли иметь несколько DKIM-записей на одном домене?&#34;, &#34;acceptedAnswer&#34;: {&#34;@type&#34;: &#34;Answer&#34;, &#34;text&#34;: &#34;Да. У каждого сервиса свой селектор, например mail._domainkey и crm._domainkey, и записи не конфликтуют.&#34;}} ] } ] }\u003C/p>","2026-10-01T15:14:16.316Z","2026-10-01T15:14:16.319Z","ru",{"pagination":30},{"page":31,"pageSize":32,"pageCount":31,"total":31},1,25,{"data":34,"meta":36},[35],{"id":6,"documentId":7,"title":8,"slug":9,"definition":10},{"pagination":37},{"page":31,"pageSize":38,"pageCount":31,"total":31},7]