Настраивать буду на примере сайта naturbine.ru, домен делегирован на pdd.yandex.ru. На арендованном сервере у одной известной компании, развернут контейнер OpenVZ с Centos 6.5 86_64 + BitrixEnv 5 и демо интернет магазином.
1. В первую очередь настроим доменные записи:
Настроим обычные A записи в зоне домена, на примере pdd.yandex.ru в домене naturbine.ru:
srv01.naturbine.ru - имя для хоста (сервера с BitrixEnv) naturbine.ru www.naturbine.ru - соответственно записи для сайта.
Настроим SPF запись. При делегировании домена на yandex.ru, оный создает такую запись:
тем самым мы указали, что всю почту отправляемую с хоста srv01.naturbine.ru можно принимать, а также с серверов указных в SPF записях для хостов yandex.ru, и помечать как спам почту отправляемую со всех других хостов(~all), любопытствующим сюда http://geektimes.ru/post/63768/
Далее необходимо настроить PTR-запись в обратной(reverse) зоне вашего хостера, для разрешения ip-адреса в доменное имя, обычно это доступно в панели управления хостингом. Если этого не сделать, вся почта отправляемая с вашего сервера для спам фильтров будет выглядеть как минимум подозрительно, а некоторые вообще откажутся ее принять. PTR- запись настроем на имя нашего сервера srv01.naturbine.ru (имя хоста конечно же должно быть заданно в настройках ОС и совпадать с доменным, задается либо через меню BitrxEnv либо непосредственно в файле /etc/sysconfig/network, в директиве HOSTNAME=srv01.naturbine.ru)
Через некоторое время можно проверить, работает ли ваша ptr-запись, из windows это сделать очень просто - командой ping -a ip, если все хорошо ip разрешится в доменное имя:
2. Настройка MTA(Mail Transfer Agent) Exim.
Exim, поскольку в сем случае это пожалуй самый простой вариант - он нативно поддерживает DKIM. Не выяснял подробности, почему и от каких условий зависит какой именно mta будут по умолчанию в Centos 6, но могут быть sendmail, postfix и exim.
Проверяем, какой mta на вашем сервере:
[root@srv01 /]# alternatives --config mta
There are 2 programs which provide 'mta'.
Selection Command
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.postfix
Enter to keep the current selection[+], or type selection number:
т.е. если текущий mta не sendmail.exim, установим его:
yum install exim
Переназначим mta по умолчанию на exim, т.е. выберем п.2:
[root@srv01 /]# alternatives --config mta
There are 2 programs which provide 'mta'.
Selection Command
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.postfix
2 /usr/sbin/sendmail.exim
Enter to keep the current selection[+], or type selection number: 2
primary_hostname = srv01.naturbine.ru - задаем имя которое сервер будет отдавать в HELO
qualify_domain = naturbine.ru - задаем имя домена, которое будет добавляться к локальным адресам, например root -> root@naturbine.ru
[:wq]
Укажем php через какой mta отправлять почту:
vi /etc/php.d/z_bx_custom_settings.ini
[insert]
sendmail_path = /usr/sbin/sendmail -t -i
[:wq]
Перезапустим апач:
service httpd restart
Теперь можно отослать себе письмо из админки сайта и посмотреть на его заголовки. Если доменные записи уже обновились и вы все правильно настроили, то заголовок письма отосланного сайтом на yandex.ru должен быть примерно таким:
3. Создадим цифровую подпись DKIM и настроим Exim на ее использование.
Теперь нужно в зоне домена создать TXT запись mail_srv01._domainkey "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCupYdqHdV7YcgA0h9xPOXCqxX04AIslGLTD2Iikc/h0PxmXZhlA33UZzsL+X9s6utjPF4mHn3N4AROATzs10szDJwD UXF3e4BfvQRMORh1lBPitCMNcdCh0UbDhSyz2gz5OakhyI8YIRAWwlXyMzpQtZwir8cYyyub69gO+BtBBQIDAQAB"
после "p=" необходимо вставить содержимое файла /etc/exim/dkim/naturbine.ru.pub между -----BEGIN PUBLIC KEY----- и -----END PUBLIC KEY-----, важно при этом не скопировать пробелы и переносы строки, ключ должен быть в одну строку. Должно получится примерно так:
Укажем exim, что у нас теперь есть подпись DKIM и ей необходимо подписывать все сообщения:
После обновления доменных записей (если ваша зона на яндексе, обычно это несколько минут) можно еще раз себе отослать проверочное письмо, вы должны увидеть, что письмо имеет цифровую подпись:
Пример заголовков письма mail.google.com с SPF и DKIM:
Причина скорее всего указана в хидерах письма. Для анализа отчетов DMARC использую http://www.dmarcanalyzer.com , есть возможность вручную "скармливать" xml бесплатно.
Попробуйте на яндекс, хирдеры информативнее, например письмо от Microsoft которое yandex счел спамом: X-Yandex-Front: mxfront9h.mail.yandex.net X-Yandex-TimeMark: 1421922326 Authentication-Results: mxfront9h.mail.yandex.net; spf=pass (mxfront9h.mail.yandex.net: domain of bounce.email.microsoftemail.com designates 66.231.85.18 as permitted sender) smtp.mail=bounce-885573_HTML-356022735-3260831-97434-73@bounce.email.microsoftemail.com; dkim=pass header.i=@email.microsoftemail.com X-Yandex-Spam: 4 X-Yandex-Personal-Spam: NTcyMzI0OAo=
Олег Шамаев у яндекса тоже все красиво показывает, spf pass dkim pass, X-Yandex-Spam: 1. В общем гугл такой гугл, думаю тут ничего не поделать. А возможно проблема в том, что у основного разработчика сервиса почта быды на gmail и в процессе тестирования туда писем приходили тысячи, а было это еще до настройки dkim.
С exim 4.72 проблема с подписями DKIM периодически наблюдалась, в частности один случай воспроизводился при использовании только одного из адресов рассылки в pdd.yandex.ru(на 9 адресах dkim pass, на одном fail), при этом подпись того же самого письма отсылаемого на конечный адрес или алиас распознавалась. В моем случае помогло обновление exim до версии 4.80.1, он есть в репозитарии http://atrpms.net/ установить:
Все настроил, почта на YANDEX вообще не приходит, даже в спам!!! На google приходит в спам.
Вот тело письма, которое пришло на google:
Delivered-To: asmal832@gmail.com
Received: by 10.64.122.225 with SMTP id lv1csp780613ieb;
Sun, 22 Feb 2015 09:26:11 -0800 (PST)
X-Received: by 10.112.27.173 with SMTP id u13mr6607030lbg.7.1424625970969;
Sun, 22 Feb 2015 09:26:10 -0800 (PST)
Return-Path: <bitrix@hotmot.ru>
Received: from srv01.hotmot.ru (srv01.hotmot.ru. [188.120.226.149])
by mx.google.com with ESMTPS id ac6si3011933lbc.7.2015.02.22.09.26.10
for <asmal832@gmail.com>
(version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Sun, 22 Feb 2015 09:26:10 -0800 (PST)
Received-SPF: pass (google.com: domain of bitrix@hotmot.ru designates 188.120.226.149 as permitted sender) client-ip=188.120.226.149;
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of bitrix@hotmot.ru designates 188.120.226.149 as permitted sender) smtp.mail=bitrix@hotmot.ru;
dkim=pass header.i=@hotmot.ru
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=hotmot.ru; s=mail_srv01;
h=From:Subject:To:Message-Id:Date; bh=iy8EcQf89X/LM8rdE1RNHpeY1605U48BMqOMsRBr2BI=;
b=RQKWZJTyhr8w8cO0R8qECs9FEG9GAeiYkhcMwtqfjTa+7Nu3NJuC1pV1pUXLebohYwsu/dmQIHmQkt61cC0Sl6/dwgfv1DuXRSq0FyrXdGVs2q4+JpO4nCvo5FS6XfvBXG3kMUfYsw7NporiViXELHiwyBYM3Um90dU5O7hxnf0=;
Received: from bitrix by srv01.hotmot.ru with local (Exim 4.72)
(envelope-from <bitrix@hotmot.ru>)
id 1YPaID-00020q-UZ
for asmal832@gmail.com; Sun, 22 Feb 2015 20:26:09 +0300
Date: Sun, 22 Feb 2015 20:26:09 +0300
Message-Id: <E1YPaID-00020q-UZ@srv01.hotmot.ru>
To: asmal832@gmail.com
Subject: Заказ c сайта hotmot.ru
X-PHP-Originating-Script: 600:test.php
From: bitrix@hotmot.ru
Заказ #23252 принят!
Логи exim при посылке Yandex:
2015-02-22 20:27:35 socket bind() to port 25 for address (any IPv6) failed: Address already in use: daemon abandoned
2015-02-22 20:27:43 1YPaJj-00020x-5k <= bitrix@hotmot.ru U=bitrix P=local S=425
2015-02-22 20:27:43 1YPaJj-00020x-5k mx.yandex.ru [2a02:6b8::89] Network is unreachable
2015-02-22 20:27:43 1YPaJj-00020x-5k => asmal832@yandex.ru R=dnslookup T=remote_smtp H=mx.yandex.ru [213.180.204.89] X=UNKNOWN:AES256-GCM-SHA384:256
2015-02-22 20:27:43 1YPaJj-00020x-5k Completed
Кстати, в спам шло из тестового скрипта (тупо функция mail с парой слов), и они пришли через 20 минут. Когда прописал все заголовки, и добавил больше текста или отправлял непосредственно из битрикса все стало приходить моментально и не в спам!!!
Подскажите, для чего вообще нужна реверс зона, как её настроить без ПУ на сервере, через терминал? И нужна ли она вообще, если моя строка имеет вид, как предлагает яндекс: v=spf1 ip4:62.213.---.--- include:_spf.yandex.net ~all? И что будет, если я ограничусь лишь этими настройками, а настройки МТА оставлю как есть?
Евгений Крохин Что такое DNS Вы полагаю сможете прочитать самостоятельно. Записи в зоне домена указываются для разрешения имени в ip - адреса, в обратной зоне все наоборот, ip - адрес разрешается в имя указанное в PTR-записи. В данном случае PTR запись нужна чтобы почтовые сервера могли разрешить ip-адрес сервера отправителя и сопоставить его с указанными в приветствии HELO/EHLO, если значения не совпадут, спам-фильтр принимающего сервера в большинстве случаев посчитает сообщение спамом, если вообще примет. Без обращения к владельцу пула ip-адресов, коим как правило является хостер, создать PTR-запись невозможно, т.е. Вам нужно либо написать в тп-хостера, либо воспользоватся функцией создания PTR-записи в панели управления хостингом, если таковая имеется.
Только одной spf-записи будет недостаточно, PTR-запись должна быть обязательно. Можно вполне обойтись без DKIM-подписи, но PTR должна быть.
Подскажите, пож-та, может имя хоста быть не доменом, а просто словом? Если на сервере несколько сайтов с разными доменами, то все равно нужно какой-то один указать, а как же тогда другие сайты?
Андрей имя хоста должно быть доменным именем, иначе невозможно создать PTR-запись а значит существенно повысить шанс, что к почте от вашего сервера другие почтовые сервера будут относится с подозрением. Доменное имя хоста будет указываться только в заголовках писем, имя отправителя и прочие пользовательские поля могут быть любыми, т.е. и других доменов тоже.
Шамаев Олег, Если я укажу домен одного из сайтов, то письма от него не будут попадать в спам, а письма с других сайтов получается будут, т.к. домен отправителя и домен сервера будут не совпадать. Как решить данную проблему?
Не будут, если создать PTR-запись, в каждом домене от имени которого будет отправлять письма хост, создать как минимум SPF-запись указывающую на имя или ip-адрес хоста отправителя.
Шамаев Олег, то есть, если например адрес сервера будет "server.ru", то для сайта site.ru нужно прописать "v=spf1 a:server.ru include:_spf.yandex.ru ~all" ?
Шамаев Олег, Спасибо, почта теперь работает, в спам не попадает, но появилась новая задача: сервер не отправляет почту на адреса того домена, который совпадает с адресом хоста. То есть заказ интернет магазина не приходит на емайл магазина. Я как-то давно сталкивался с аналогичной проблемой, но решение не могу пока найти (вроде как сервер считает, что если домен совпадает, то почту можно отослать по локалке и не отсылает...).
надо же, решение нашел очень быстро: в файле /etc/exim/exim.conf в primary_hostname пишем не просто адрес_хоста.ru, а mail.адрес_хоста.ru и письма подписанными остаются и сервер как бы другой получается и поэтому почта отсылается не локально.
А предполагается что файл /etc/php.d/z_bx_custom_settings.ini уже есть, или он создается заново? В моей версии (5.1.3) окружения битрикс этого файла нет
Олег, большое спасибо за сватью и ответы, теперь наши письма приходят пользователям на gmail. И еще один вопрос. Столкнулся с следующим поведением системы, если у почтового шаблона установить адрес скрытой копии, то письма не уходят ни получателю ни на адрес скрытой копии. В чем может быть дело ?
Если нет в логе записи, то и попытки отправки нет, т.е. проблема в настройках/коде сайта.
В приведенном логе попытка отправить почту пользователю root ОС, яндекс отвечает, что такого пользователя в домене нет и отказывает в приеме. Для того, чтобы принимать эту почту, нужно либо настроить один из адресов почты в pdd.yandex.ru, либо указать алиас для пользователя root указывающий на рабочий почтовый адрес.
Спасибо. И еще один вопрос. Заметил что у одних почтовых шаблонов в заголовках есть DKIM-Signature, а у других нет, от чего это зависит ? Причем настройка заголовков потовых шаблонов не отличается.
Настройка exim приведенная выше подразумевает подписывание сообщений только для домена от имени которого отправляется почта, попросту exim ищет файл ключа соответствующей имени домена:
Если вы указываете в качестве адреса отправителя другой домен или не указываете вовсе оный, то такие сообщения не будут подписываться. Если ваш сайт(ы) отправляют почту от имени нескольких доменов, то нужно для каждого создать соответствующие ключи.
Сайт один, и в обоих шаблонах в поле от Кого стоит #DEFAULT_EMAIL_FROM#. Но одно письмо с подписью другое без. Теряюсь в догадках в чем может быть причина.
Схема описана для одного домена, но ничего не мешает вам создать отдельные ключи DKIM для каждого и указать оные ключи в зонах доменов. Но в любом случае, в заголовках каждого письма будет имя хоста отправителя, в примере srv1.naturbine.ru
С проверкой PTR всё ясно - проверяется по домену хосту отправителя. Я так понимаю SPF тоже настраивается для домена хоста отправителя (в вашем случае srv01.naturbine.ru), а не домена сайта отправителя письма? Т.е. например хост-домен это 1delo.ru (DNS и прямая и обратная запись настроены именно на него) но там же расположен сайт http://atlantsib.ru Соответственно, отправляю с info@atlantsib.ru - но проверка SPF будет производиться для хост домена 1delo.ru?
Ну сама то SPF запись редактируется именно в доменной зоне домена-хоста? в моём случае 1delo.ru ? или в доменной зоне сайта atlantsib.ru ? или и там и сям ?
нужно сделать и SPF и DKIM записи во всех нужных зонах доменов, тут примеры http://geektimes.ru/post/63768/ , если не хотите долго и с неизвестным результатом отлаживать все это, вникните в SPF, там все тривиально.
Добрый день! Письмо из командной строки приходит отлично с зеленой метко о действительности dkim подписи. А при регистрации и обращениях письмо приходит с недействительной dkim подписью. Куда смотреть? Подскажите!
Видимо шаблон письма в втором примере не соответствует RFC, его содержимое может меняться, например переносом строк, в результате хеш уже разный. Попробуйте исключить заголовок Content-Transfer-Encoding из подписываемых - в exim.conf, после конфигурации DKIM подписи, добавьте:
This message is an automatic response from Port25's authentication verifier service at verifier.port25.com. The service allows email senders to perform a simple check of various sender authentication mechanisms. It is provided free of charge, in the hope that it is useful to the email community. While it is not officially supported, we welcome any feedback you may have at <verifier-feedback@port25.com>.
Thank you for using the verifier,
The Port25 Solutions, Inc. team
========================================================== Summary of Results ========================================================== SPF check: pass DomainKeys check: neutral DKIM check: fail Sender-ID check: pass SpamAssassin check: ham
NOTE: DKIM checking has been performed based on the latest DKIM specs (RFC 4871 or draft-ietf-dkim-base-10) and verification may fail for older versions. If you are using Port25's PowerMTA, you need to use version 3.2r11 or later to get a compatible version of DKIM.
---------------------------------------------------------- Sender-ID check details: ---------------------------------------------------------- Result: pass ID(s) verified: header.From=webmaster@sevzags.ru DNS record(s): sevzags.ru. SPF (no records) sevzags.ru. 21600 IN TXT "v=spf1 redirect=_spf.yandex.net ip4:95.213.200.208 ~all"
pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/D...nsbl-block for more information. [URIs: port25.com] -0.0 SPF_PASS SPF: sender matches SPF record -1.4 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid 0.0 T_DKIM_INVALID DKIM-Signature header exists but is not valid
========================================================== Explanation of the possible results (from RFC 5451) ==========================================================
SPF and Sender-ID Results =========================
"none" No policy records were published at the sender's DNS domain.
"neutral" The sender's ADMD has asserted that it cannot or does not want to assert whether or not the sending IP address is authorized to send mail using the sender's DNS domain.
"pass" The client is authorized by the sender's ADMD to inject or relay mail on behalf of the sender's DNS domain.
"policy" The client is authorized to inject or relay mail on behalf of the sender's DNS domain according to the authentication method's algorithm, but local policy dictates that the result is unacceptable.
"fail" This client is explicitly not authorized to inject or relay mail using the sender's DNS domain.
"softfail" The sender's ADMD believes the client was not authorized to inject or relay mail using the sender's DNS domain, but is unwilling to make a strong assertion to that effect.
"temperror" The message could not be verified due to some error that is likely transient in nature, such as a temporary inability to retrieve a policy record from DNS. A later attempt may produce a final result.
"permerror" The message could not be verified due to some error that is unrecoverable, such as a required header field being absent or a syntax error in a retrieved DNS TXT record. A later attempt is unlikely to produce a final result.
DKIM and DomainKeys Results ===========================
"none" The message was not signed.
"pass" The message was signed, the signature or signatures were acceptable to the verifier, and the signature(s) passed verification tests.
"fail" The message was signed and the signature or signatures were acceptable to the verifier, but they failed the verification test(s).
"policy" The message was signed but the signature or signatures were not acceptable to the verifier.
"neutral" The message was signed but the signature or signatures contained syntax errors or were not otherwise able to be processed. This result SHOULD also be used for other failures not covered elsewhere in this list.
"temperror" The message could not be verified due to some error that is likely transient in nature, such as a temporary inability to retrieve a public key. A later attempt may produce a final result.
"permerror" The message could not be verified due to some error that is unrecoverable, such as a required header field being absent. A later attempt is unlikely to produce a final result.
========================================================== Original Email ==========================================================
Return-Path: <webmaster@sevzags.ru> Received: from mail.sevzags.ru (95.213.200.208) by verifier.port25.com id h8rkvg20i3gq for <check-auth@verifier.port25.com>; Thu, 26 May 2016 08:20:08 -0400 (envelope-from <webmaster@sevzags.ru>) Authentication-Results: verifier.port25.com; spf=pass smtp.mailfrom=webmaster@sevzags.ru Authentication-Results: verifier.port25.com; domainkeys=neutral (message not signed) header.From=webmaster@sevzags.ru Authentication-Results: verifier.port25.com; dkim=fail (wrong body hash: expected Zlq9g7rlpM1i7BT+CngRZ4D8HdMGSaJFcbE288x/D2E=) Authentication-Results: verifier.port25.com; sender-id=pass header.From=webmaster@sevzags.ru DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sevzags.ru; s=mail; h=Message-Id:Content-Type:Date:Reply-To:From:Subject:To; bh=5MUDikaAaAkkFkexgFrwiBOiaN9S3/9kgKxIX8Hhyzs=; b=pNEiL0IcRtEcddEPgvfVwT6JlOCNuX+cGTOaxaOLxcEwSiZlV+rq6UoHVLNO/Na+x5PltgF8ryV+p+J8pe6e0Sv/2ZyYE2FeaPJB1gZK06872hiTSJLtrdttFBw59SFQX5R9/HFB3WiXb0fjryyMYYSEcrKY67kc001jZ3PexBw=; Received: from root by mail.sevzags.ru with local (Exim 4.84_2) (envelope-from <webmaster@sevzags.ru>) id 1b5uGg-0001KZ-CW; Thu, 26 May 2016 15:20:02 +0300 To: check-auth@verifier.port25.com Subject: =?UTF-8?B?W1RJRCM3OF0gemFncy5zZXYuZ292LnJ1OiDQktCw0YjQtSDQvtCx0YDQsNGJ0LXQvdC40LUg0L/RgNC40L3Rj9GC0L4=?= X-PHP-Originating-Script: 48:tools.php From: webmaster@sevzags.ru Reply-To: webmaster@sevzags.ru X-EVENT_NAME: TICKET_NEW_FOR_AUTHOR X-Priority: 3 (Normal) Date: Thu, 26 May 2016 15:20:02 +0300 X-MID: 530.47 (26.05.2016 15:19:23) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Message-Id: <E1b5uGg-0001KZ-CW@mail.sevzags.ru>
Ваше обращение принято, ему присвоен номер 78.
Вы не должны отвечать на это письмо. Это только подтверждение, что служба техподдержки получила ваше обращение и работает с ним.
Создано - [26.05.2016 15:19:23] Ответственный - [36] Роман Дубовик [техподдержка] Уровень поддержки - По умолчанию ======================= СООБЩЕНИЕ ===================================
Как вас зовут (Имя Фамилия): test
Ваш адрес (с индексом): 99046
Текст обращения: test dkim =====================================================================
Олег Шамаев, на email админа (у нас shop@) - не светить лишний раз движок, да и есть подозрение, что яндекс не принимает наше щифрование из-за этого. Во всяком случае яндекс не пишет, что цифровая подпись верна, хотя spf/dkim pass
return path и sender - эти заголовки создаются программой отправителем, в данном случае это сам битрикс, к MTA это отношения не имеет. Попробуйте через ini_set переназначить эти заголовки непосредственно перед отправкой
Алексей Иванов написал: Олег Шамаев, на email админа (у нас shop@) - не светить лишний раз движок, да и есть подозрение, что яндекс не принимает наше щифрование из-за этого. Во всяком случае яндекс не пишет, что цифровая подпись верна, хотя spf/dkim pass
яндекс так не пишет потому, что у него сейчас требования такие что нужно брать его публичный ключ и его приватный - тогда будут подписываться письма и те которые отправляешь через вебинтерфейс и те которые с сервера
Про PTR-запись видимо не совсем корректно написано. Если на севере несколько сайтов, то выдается какой-то из них. Правильно проверять PTR: Из Windows: nslookup -type=PTR ip-адрес Из Linux: dig -x ip-адрес
Ольга, назначение нескольких PTR-записей на один IP-адрес в принципе не запрещено, но и не рекомендуется поскольку не имеет смысла. В данном случае PTR-запись нужна для проверки при соединении почтового сервера отправителя с получателем - отправитель передает свое HELO(доменное имя хоста), получатель делает запрос к DNS серверу на получение PTR записи к IP-отправителя, если HELO и PTR совпадают, проверка считается пройденной. Т.е. если на запрос к DNS по конкретному IP-адресу будут выдаваться разные записи, то и проварка не всегда будет проходить. Посему если ваш сервер является отправителем почты, не допускайте множества PTR-записей для него.
Ольга, все приведенные команды, в том числе ping -a так или иначе обращаются за разрешением IP в имя к DNS-серверу и вводят его. Если у Вас эти команды дают разные результаты, это означает, что либо DNS сервер указанный у вашего компьютера дает некорректный ответ, либо в обратной зоне для вашего IP есть ошибки.
Спасибо за отличный мануал Подключил DKIM - смотрю оригинал письма на Яндексе - DKIM pass, вроде всё ОК Но в логах EXIMа странные записи unable to open private key for reading: /etc/exim/dkim/yandex.ru.key unable to open private key for reading: /etc/exim/dkim/gmail.com.key причем не только в main.log но и в panic.log
P.S. можно на всякий случай ещё о DMARC чиркнуть для полноты картины
Алексей Вдовин написал: unable to open private key for reading: /etc/exim/dkim/yandex.ru.key unable to open private key for reading: /etc/exim/dkim/gmail.com.key
Это означает, что ваш сайт пытается отослать почту от имени этих доменов, т.е .в письме в поле FROM указанно ***@yandex.ru, exim ищет ключ в папке по имени домена отправителя письма и не находит.
У меня CentOS 7 и VMBitrix 7.0.1 Проделал всё, что описано в статье и теперь не срабатывает отправка из php - т.е. ф-я mail не работает. Проверяю отправку через exim из консоли - письма отправляются и приходят со всеми нужными полями. До внесения изменений описанных в статье функция mail работала нормально. Не подскажите куда копать ?
Также проверьте все возможные задачи в cron, иногда BitrixEnv может создавать задачу выполнения cron_events.php с такими параметрами ..../usr/bin/php -d sendmail_path="msmtp -t -i -a..., т.е. по сути все агенты будут выполнятся с переназначенной переменной sendmail_path
Получилось добиться spf=pass и dkim=pass. Но почта в яндексе также попадает в спам, а в гмайл не доходит. В логах exim по гмайлу такое:
R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [...] X=TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128 CV=yes:
SMTP error from remote mail server after pipelined end of data: 550-5.7.1 [...]
Our system has detected
550-5.7.1 that this message is likely suspicious due to the very low reputation
550-5.7.1 of the sending IP address. To best protect our users from spam, the
550-5.7.1 message has been blocked. Please visit
550 5.7.1 https://support.google.com/mail/answer/188131 for more information.
Заголовки письма:
Received: from mxfront4j.mail.yandex.net ([127.0.0.1])
by mxfront4j.mail.yandex.net with LMTP id qE9FSs9R
for <web@recieverhost.ru>; Wed, 6 Dec 2017 18:23:09 +0300
Received: from 123456.simplecloud.ru (123456.simplecloud.ru [2a04:ac00:4:24b3])
by mxfront4j.mail.yandex.net (nwsmtp/Yandex) with ESMTPS id xOqMa9PchX-N8MWpca1;
Wed, 06 Dec 2017 18:23:08 +0300
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(Client certificate not present)
Return-Path: info@senderhost.ru
X-Yandex-Front: mxfront4j.mail.yandex.net
X-Yandex-TimeMark: 1512573788
Authentication-Results: mxfront4j.mail.yandex.net; spf=pass (mxfront4j.mail.yandex.net: domain of senderhost.ru designates 2a04:ac00:4:24b3 as permitted sender, rule=[ip6:2a04:ac00:4:24b3]) smtp.mail=info@senderhost.ru; dkim=pass header.i=@senderhost.ru
X-Yandex-Spam: 4
Странность была, что с одним spf=pass в яндекс почта доходила нормально. С dkim=pass стало опять в спам идти. Непонятно, что еще можно сделать, чтобы исправить ситуацию.
Алексей, выложите тут или в личку полные заголовки без исправлений и сокращений нескольких писем которые однозначно определяются как спам яндексом и гуглом.
Шамаев Олег, вот полная версия заголовков письма, попадающего в спам на яндексе:
Received: from mxfront1j.mail.yandex.net ([127.0.0.1])
by mxfront1j.mail.yandex.net with LMTP id 5T9AOFtr
for <web@revieverhost.ru>; Wed, 6 Dec 2017 19:59:02 +0300
Received: from 123456.simplecloud.ru (123456.simplecloud.ru [<ipv6addr>])
by mxfront1j.mail.yandex.net (nwsmtp/Yandex) with ESMTPS id 8p08C0di64-x2m8i2V5;
Wed, 06 Dec 2017 19:59:02 +0300
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(Client certificate not present)
Return-Path: info@senderhost.ru
X-Yandex-Front: mxfront1j.mail.yandex.net
X-Yandex-TimeMark: 1512579542
Authentication-Results: mxfront1j.mail.yandex.net; spf=pass (mxfront1j.mail.yandex.net: domain of senderhost.ru designates <ipv6addr> as permitted sender, rule=[<ipv6addr>]) smtp.mail=info@senderhost.ru; dkim=pass header.i=@senderhost.ru
X-Yandex-Spam: 4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=senderhost.ru;
s=mail; h=Message-Id:Content-Transfer-Encoding:Content-Type:Date:Reply-To:
From:Subject:To:Sender:Cc:MIME-Version:Content-ID:Content-Description:
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
List-Post:List-Owner:List-Archive;
bh=JTQh/DTkLKYHgHynqrRxP/jz50dMrQkbBAe7v0tp3ZM=; b=v+K8L6r3dCudYX+TinfIz4unsl
FQ4CSttDfED0YQ0qoU/oMMXkHn/nKkReYIneKvhIIvFqdZKMunipRrbfM38KR9GLocucbgi8+1NG8
gmc5t0tRuUUyAmeUzM9lkL4cYBhGx8CC0wCLF1RbpQ9ukZTiBhAGA8G3UAuVNU9DVRQE=;
Received: from [127.0.0.1] (helo=localhost)
by senderhost.ru with esmtp (Exim 4.89)
(envelope-from <info@senderhost.ru>)
id 1eMd2D-0004Q4-PB
for web@revieverhost.ru; Wed, 06 Dec 2017 16:59:01 +0000
To: web@revieverhost.ru
Subject: =?UTF-8?B?UHVmZiB2YXBlJnNob3A6INCh0L7QvtCx0YnQtdC90LjQtSDQuNC3INGE0L7RgNC80Ysg0L7QsdGA0LDRgtC90L7QuSDRgdCy0Y/Qt9C4?=
X-PHP-Originating-Script: 600:tools.php
From: info@senderhost.ru
Reply-To: info@senderhost.ru
X-EVENT_NAME: FEEDBACK_FORM
X-Priority: 3 (Normal)
Date: Wed, 06 Dec 2017 19:59:01 +0300
X-MID: 4753.7 (06.12.2017 19:58:35)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Message-Id: <E1eMd2D-0004Q4-PB@senderhost.ru>
X-Yandex-Forward: 5f083ca5043328dc35c14e5b2a746023
Изменил, в целях конфиденциальности, имена доменов и скрыл <ipv6addr>. Думаю, это не критично. В гугл письма не доходят, поэтому выкладывать нечего. Есть только ошибка в логах exim, которая уже была опубликована.
Ваш ip в спам-базах, для ipv6 видимо весь префикс, если конечно вы намеренно не занимаетесь рассылкой спама. Попробуйте отсылать почту с ipv4 предварительно проверив оный https://2ip.ru/spam/, и отключите в конфигурации exim использование ipv6:
Шамаев Олег, проверял и ip v4 и v6 - в спам-базах их не видно. Рассылкой спама не занимаемся, но есть форма обратной на сайте с дырявой битриксовой капчей, которую спаммеры не замечают, но спам идет только на ящик владельца ресурса (пока не решили еще, как пофиксить эту проблему).
Переключился на ipv4, по рекомендации. В яндексе результат не поменялся. Также идет в спам сообщение. Заголовки письма:
Received: from mxfront6j.mail.yandex.net ([127.0.0.1])
by mxfront6j.mail.yandex.net with LMTP id 4D4GEnL7
for <web@recipient.ru>; Thu, 7 Dec 2017 11:17:13 +0300
Received: from sitename.ru (sitename.ru [<ipv4>])
by mxfront6j.mail.yandex.net (nwsmtp/Yandex) with ESMTPS id 6Ju82VDwQm-H28Wn3B8;
Thu, 07 Dec 2017 11:17:02 +0300
(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
(Client certificate not present)
Return-Path: info@sitename.ru
X-Yandex-Front: mxfront6j.mail.yandex.net
X-Yandex-TimeMark: 1512634622
Authentication-Results: mxfront6j.mail.yandex.net; spf=pass (mxfront6j.mail.yandex.net: domain of sitename.ru designates <ipv4> as permitted sender, rule=[a]) smtp.mail=info@sitename.ru; dkim=pass header.i=@sitename.ru
X-Yandex-Spam: 4
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sitename.ru;
s=mail; h=Message-Id:Content-Transfer-Encoding:Content-Type:Date:Reply-To:
From:Subject:To:Sender:Cc:MIME-Version:Content-ID:Content-Description:
Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
List-Post:List-Owner:List-Archive;
bh=7ogUgvAPI+iqn8nUdJ9WGmh6bkVk6fIYfosLN94qby4=; b=nL4SucQvyVkv1es1B1fqlGXtte
J8kNGqdBGZ+qDKK8ywPutWgNHKxqW21CW3q+/WjHHbdgxawaXCzpkLF7Rj1RDmyOe493Hc5ZL7UZa
0Wq9vaScsr+pdhPvBv9glHIpNfY3f2wURoSyRN7ryP++vJ0Wp5R0VZePZ7a+5Y1dCRQM=;
Received: from [127.0.0.1] (helo=localhost)
by sitename.ru with esmtp (Exim 4.89)
(envelope-from <info@sitename.ru>)
id 1eMrMb-00083G-UC
for web@recipient.ru; Thu, 07 Dec 2017 08:17:01 +0000
To: web@recipient.ru
Subject: =?UTF-8?B?UHVmZiB2YXBlJnNob3A6INCh0L7QvtCx0YnQtdC90LjQtSDQuNC3INGE0L7RgNC80Ysg0L7QsdGA0LDRgtC90L7QuSDRgdCy0Y/Qt9C4?=
X-PHP-Originating-Script: 600:tools.php
From: info@sitename.ru
Reply-To: info@sitename.ru
X-EVENT_NAME: FEEDBACK_FORM
X-Priority: 3 (Normal)
Date: Thu, 07 Dec 2017 11:17:01 +0300
X-MID: 4787.7 (07.12.2017 11:16:09)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Message-Id: <E1eMrMb-00083G-UC@sitename.ru>
X-Yandex-Forward: 5f083ca5043328dc35c14e5b2a746023
Зато в гугл стало доходить, но тоже в спам попало. Заголовки письма с гугла:
Delivered-To: recipient@gmail.com
Received: by 10.80.170.60 with SMTP id o57csp7675872edc;
Thu, 7 Dec 2017 00:24:03 -0800 (PST)
X-Google-Smtp-Source: AGs4zMaex50z5jDXGOuM55gyoQjh5rINHIhHoq4KPLIhIscUhDiNxh+KbPPOnz+mq4HXZxiQ6khr
X-Received: by 10.46.1.231 with SMTP id f100mr13045959lji.132.1512635043798;
Thu, 07 Dec 2017 00:24:03 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1512635043; cv=none;
d=google.com; s=arc-20160816;
b=MKdLY6VG5Injf+D1348TqH4aN5/5Jj+1HLTULKLPIGQsxyemXAFNo+siOJ8BUbJcut
JTAQOe30dNL+mN+LAyePTKKCqFcLYkB4Ht4tKVsiseiVAe7GnMKplMKAFL0C9AsYgjnU
SDm5PAxfUkWWjHRgacGBuckJj099IIaA4CtFf/MIJ4PIYzFO0D1JVuX1XvPdUO+v5Qxk
56iWUMzuzPAsyVc0EF7kw9nmtdCaSPDu+PRPLEoXNZyW709obCCRtelRR22pgivm98Q2
IdmROmMHwcsfdz7OEbdiu7ZddGqhWp/QrLnf25DCxgwFcKY4nKF3Nde2VC5bGuNPlwHG
XKfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816;
h=message-id:content-transfer-encoding:date:reply-to:from:subject:to
:dkim-signature:arc-authentication-results;
bh=44ejOE5SEhdi+mcHjP0kAF8Vd9wRmCliqwwnL2Cb6Yg=;
b=HogdJcxNsy38cZOdv/fKKIkSSXoFHTWNX8ULuBOfjVVvchtMBSvmKKEa+9yrEWobR0
e7SzuKwH3qNv7t8CqavEPqD4HA+VG5gN89jVEDrmG8kvin5oCtyOXOwE+osDGIAKCy9u
5iBJi5IIWejUvWUWKvYTbxckMRjmI4jyqs/MZ7m8r+Stp2MwKqs4Sc40nS7dLq+sMPfj
iLM79u9OGHSdUrtFPc8SrgVYO2B9+fW1+kKXGE3QqB+fjd50Lbs9ipB4RS35pDzt6tTo
jYP3YlN+OE02rBoMWv2Px8VkrfrFm3+filAps+tSWKDZ07iaJ8gDMEkQJqG+eDJXR4m6
Sm/Q==
ARC-Authentication-Results: i=1; mx.google.com;
dkim=pass header.i=@sitename.ru header.s=mail header.b=dbgomTmV;
spf=pass (google.com: domain of info@sitename.ru designates <ipv4> as permitted sender) smtp.mailfrom=info@sitename.ru
Return-Path: <info@sitename.ru>
Received: from sitename.ru (sitename.ru. [<ipv4>])
by mx.google.com with ESMTPS id p198si1817908lfp.473.2017.12.07.00.24.03
for <recipient@gmail.com>
(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Thu, 07 Dec 2017 00:24:03 -0800 (PST)
Received-SPF: pass (google.com: domain of info@sitename.ru designates <ipv4> as permitted sender) client-ip=<ipv4>;
Authentication-Results: mx.google.com;
dkim=pass header.i=@sitename.ru header.s=mail header.b=dbgomTmV;
spf=pass (google.com: domain of info@sitename.ru designates <ipv4> as permitted sender) smtp.mailfrom=info@sitename.ru
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sitename.ru;
s=mail; h=Message-Id:Content-Transfer-Encoding:Content-Type:Date:Reply-To: From:Subject:To:Sender:Cc:MIME-Version:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=44ejOE5SEhdi+mcHjP0kAF8Vd9wRmCliqwwnL2Cb6Yg=; b=dbgomTmVLbWsvwNbsk1krZ1e5A dP0Jqp+KeBrOhcjbUE8fxdikSdKhhwLUqKNm1uTj7XSQL/7YAcTKPNQ22g+hF15KkbiP0nCoeo3nM a3maxqOoZphlJnhKc3TWCGPj2OvtAkJdBb8o51QKfRpTpXukJy5VTiXZX01GiZQpEV/M=;
Received: from [127.0.0.1] (helo=localhost) by sitename.ru with esmtp (Exim 4.89) (envelope-from <info@sitename.ru>) id 1eMrTO-00084M-V0 for recipient@gmail.com; Thu, 07 Dec 2017 08:24:03 +0000
To: recipient@gmail.com
Subject: Тема
X-PHP-Originating-Script: 600:tools.php
From: info@sitename.ru
Reply-To: info@sitename.ru
X-EVENT_NAME: FEEDBACK_FORM
X-Priority: 3 (Normal)
Date: Thu, 07 Dec 2017 11:24:02 +0300
X-MID: 4789.7 (07.12.2017 11:24:01)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Message-Id: <E1eMrTO-00084M-V0@sitename.ru>
Видимо спам-фильтрам не нравится содержимое ваших писем, можно попробовать убрать ссылки на сайт из почтовых шаблонов и сделать их текстовыми, не html. Также можно повысить "степень легитимности" ваших писем включением политики DMARC(определяет, что делать принимающим серверам с письмами у которых не валидны SPF и/или DKIM), но она действует на весь домен - если есть ошибки в настройке других серверов отсылающих почту от имени вашего домена, то могут быть проблемы с доставкой. https://support.google.com/a/answer/24...6563?hl=ru
Шамаев Олег, ссылок на сайт нет в содержимом писем, которые со спамом. DMARС запись сделал. Хотя тут SPF и DKIM валидные. Обнаружил, что письма о статусе заказа в яндекс нормально пришли, не в спам, а в гугл опять не дошли. Значит, проблема с содержимым этих спамерских писем. Возможно, идет сравнение по содержимому с другими письмами (а там спам) и идет негатив по адресам, где такие письма встречаются. Надо зарубить спамеров и тогда, возможно, все исправиться, только непонятно как быстро...
Шамаев Олег, так а если клиент отправляет почту еще со своего отдельного почтового клиента, не с сайта. Тогда там подписи нет или она другая. Получается, что почта эта не дойдет? Тогда не вариант.
Олег, здравствуйте! Настроил exim по вашей статье. При отправке на яндекс - все ок. Если отправляю письмо на гугл почту, письмо вообще не приходит, а в логе следующее: 2018-01-21 21:32:50 1edKQE-00043W-BV <= bitrix@mydomain.ru U=bitrix P=local S=482 2018-01-21 21:32:52 1edKQE-00043W-BV ** ambasadorant@gmail.com R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [2a00:1450:4010:c08::1a] X=TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128 CV=yes: SMTP error from remote mail server after pipelined end of data: 550-5.7.1 [2a04:ac00:4:641:5054:ff:fe00:c25b] Our system has detected that this\n550-5.7.1 message does not meet IPv6 sending guidelines regarding PTR records\n550-5.7.1 and authentication. Please review\n550-5.7.1 https://support.google.com/mail/?p=IPv6AuthError for more information\n550 5.7.1 . v62si6366827lje.212 - gsmtp 2018-01-21 21:32:52 1edKQG-00043c-3M <= <> R=1edKQE-00043W-BV U=exim P=local S=2518 2018-01-21 21:32:52 1edKQE-00043W-BV Completed 2018-01-21 21:32:52 1edKQG-00043c-3M ** bitrix@mydomain.ru R=dnslookup T=remote_smtp H=mx.yandex.net [2a02:6b8::89] X=TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128 CV=yes: SMTP error from remote mail server after RCPT TO:<bitrix@mydomain.ru>: 550 5.7.1 No such user! 2018-01-21 21:32:52 1edKQG-00043c-3M Frozen (delivery error message)
spf запись прописал так: v=spf1 redirect=_spf.yandex.net Полагаю что для отправки писем на gmail мне необходимо откорректировать spf? Подскажите, как наиболее правильно это сделать? Спасибо
Кашлев Антон: 1. Вы отправили письмо на несуществующий ящик в gmail. 2. Ваш сервер по умолчанию использует ipv6, для него нужны отдельные запись SPF и PTR, либо отключить использование ipv6 в exim добавив в конфиг строку "disable_ipv6 = true" 3. Чтобы работало SPF его конечно нужно прописать корректно в записи зоны домена, в статье это описано.
Олег, здравствуйте! Спасибо за инструкцию. Что делать, если два разных домена на одной BitrixVM (условно site1.ru, site2.net)? В каком направлении копать, чтобы каждый сайт смог правильно отправлять почту c DKIM/SPF при использовании многосайтовой конфигурации Bitrix?
Пожалуйста, объясните новичку в программировании, что делается в строчке?
Шамаев Олег написал: DKIM_PRIVATE_KEY = ${if exists{DKIM_KEY_FILE}{DKIM_FILE}{0}}
Как я её понимаю: Проверяется наличие переменной DKIM_KEY_FILE. Если она существует, то DKIM_PRIVATE_KEY делаем = переменной DKIM_FILE, если не существует, то 0... Если вышеизложенное верно, резонный вопрос что такое DKIM_FILE? Где формируется данная переменная? В интернете находил данную строчку как в в таком виде, так и в виде: DKIM_PRIVATE_KEY = ${if exists{DKIM_KEY_FILE}{DKIM_KEY_FILE}{
Поддерживаю вопрос выше. Как настроить DKIM при многосайтовости на BitrixVM? SPF получаю pass, а с DKIM всё печально... И правильно ли использовать одинаковые ключи для 2 доменов (или символьные ссылки на файлы ключей) при многосайтовости?
Что делать, если два разных домена на одной BitrixVM (условно site1.ru, site2.net)? В каком направлении копать, чтобы каждый сайт смог правильно отправлять почту c DKIM/SPF при использовании многосайтовой конфигурации Bitrix?
Нужно создать для каждого домена свой ключ, ровно по инструкции, тогда будет работать конструкция в конфиге exim - по адресу отправителя определять домен, искать для него файл ключа в каталоге и подписывать письмо если ключ найден. И конечно в зонах доменов опубликовать публичные части ключей для каждого из доменов, но с одинаковым селектором: TXT запись mail_srv01._domainkey "v=DKIM1; k=rsa; p=[публичный ключ домена]"
По SPF - самый простой способ в зонах каждого домена добавить разрешение получать почту с ip сервера, примерно так "v=spf1 ip4:10.10.10.10 include:_spf.yandex.ru ~all"
Чистая установка exim, В паник.лог при попытке отправить сообщение... 2018-04-12 15:46:56 Exim configuration error in line 1051 of /etc/exim/exim.conf: authenticator name missing
Шамаев Олег, Если домен делегирован на reg.ru, а на яндекс смотрят только MX записи: @ MX 5 mx.yandex.ru. А еще есть запись @ MX 10 ip_моего_сервера
Может какая-то из них лишняя? И нужны ли тогда настройки почты в VMBitrix?
Проблема в том, что Письмо о новом заказе приходит в спам, А письмо о регистрации приходит нормально На первый взгляд все одинаково, но одно письмо приходит корректно с рейтингом 10/10, а второе попадает в спам с рейтингом 6,3/10
Подскажите пожалуйста, как Вы решили подмену адресов в конверте envelope-from? По умолчанию exim в envelope-from вставляет адрес который указывается при настройки VM-Bitrix, а при несоответствии адресов в envelope-from и From все письма отправленные на Gmail попадают в СПАМ.
Васильев Кирилл, Здравствуйте, вы можете не указывать конструкцию выбора ключа по имени домена в конфигурации exim, а сделать чтобы ключ использовался для всех отсылаемых писем вне зависимости от указанного домена.
Шамаев Олег, Приветствую! С ключом DKIM я именно так и поступил - одним ключом подписываю почту уходящую со всех доменов на сервере. Кроме DKIM и SPF есть еще один СПАМ фильтр, который применяется на серверах Gmail, mail.nic.ru наверное еще на каких то, но эти два для меня самые приоритетные.
Проверяются соответствия заголовков письма: Return-path: envelope-from: From: Адреса в этих трёх заголовках должны совпадать.
При отправке письма с сайта в From: попадает адрес отправителя - например: shop@moydomen.ru или opt@moydomen.ru, любой адрес который указывается в почтовых шаблонах. А в заголовки envelope-from: и Return-path: попадает адрес который был указан при настройке VM-Bitrix - например: bitrix@moydomen.ru и вся почта отправленная с сайта на Gmail из за этого попадает в СПАМ.
Хотел посоветоваться с Вами, занимались ли Вы этим вопросом?
IP проверял, с ним все порядке, но как только отправляю письмо с адреса bitrix@moydomen.ru и все заголовки совпадают письмо сразу же отображается во входящих. Из чего я собственно и сделал такое заключение.
Шамаев Олег, Проблема в том, что с других адресов в этом же домене заголовки не совпадают и почта падает в СПАМ. Я понял, Вы не сталкивались с этим. Попробую разобраться. В любом случае, за статью спасибо! Очень полезная.
Здравствуйте. Большое спасибо за статью. Настроил exim на отправку почты с нашего домена, всё хорошо, письма с доменной почты проходят все проверки. Но у одного сотрудника подключена своя почта yandex, его почта не всегда доходит до получателя. Подскажите, пожалуйста, что нужно добавить в конфигурацию exim, чтобы почта конкретно этого сотрудника отправлялась через smtp яндекса? Так, чтобы не сбить настройки для основного домена.
Что делать, если два разных домена на одной BitrixVM (условно site1.ru, site2.net)? В каком направлении копать, чтобы каждый сайт смог правильно отправлять почту c DKIM/SPF при использовании многосайтовой конфигурации Bitrix?
Нужно создать для каждого домена свой ключ, ровно по инструкции, тогда будет работать конструкция в конфиге exim - по адресу отправителя определять домен, искать для него файл ключа в каталоге и подписывать письмо если ключ найден. И конечно в зонах доменов опубликовать публичные части ключей для каждого из доменов, но с одинаковым селектором: TXT запись mail_srv01._domainkey "v=DKIM1; k=rsa; p=[публичный ключ домена]"
По SPF - самый простой способ в зонах каждого домена добавить разрешение получать почту с ip сервера, примерно так "v=spf1 ip4:10.10.10.10 include:_spf.yandex.ru ~all"
В файл конфигурации exim нужно добавлять второй домен?
Колодяжин Александр написал(а): В файл конфигурации exim нужно добавлять второй домен?
Наоборот убрать упоминание домена, это будет несерьезной ошибкой в заголовке писем, но зато будут корректно работать DKIM/SPF. Работа с привольным количеством доменов в exim конечно возможна, но это не описать в рамках комментариев.
Наоборот убрать упоминание домена, это будет несерьезной ошибкой в заголовке писем, но зато будут корректно работать DKIM/SPF. Работа с привольным количеством доменов в exim конечно возможна, но это не описать в рамках комментариев
в exim.cof оставил только # primary_hostname = srv01.****.ru, сервер первого домена. со второго домена почта все равно не доходит
2020-01-08 18:01:18 exim 4.92.3 daemon started: pid=9197, -q1h, listening for SMTP on port 25 (IPv6 and IPv4) port 587 (IPv6 and IPv4) and for SMTPS on port 465 (IPv6 and IPv4) 2020-01-08 18:01:18 Start queue run: pid=9201 2020-01-08 18:01:18 End queue run: pid=9201
Очевидно логи нужно смотреть после попыток отправить почту, если это это действительно так, то сайт не обращался к системному MTA(exim) для отправки почты.
Добрый день! Скажите пожалуйста, у нас почта info@командажкх.рф Настроили все по инструкции, в логах ругается...:
Aug 04 15:59:01 host=smtp.yandex.ru tls=on auth=on user=info@командажкх.рф from=info@командажкх.рф recipients=Potapchik1@yandex.ru,info@gkhgorod.ru smtpstatus=501 smtpmsg='501 5.1.7 Bad address mailbox syntax.' errormsg='envelope from address info@командажкх.рф not accepted by the server' exitcode=EX_DATAERR
Как правильно настроить почту на кириллическом домене?
exim 4.94 перестал подписывать по этой инструкции Tainted filename '/etc/exim/dkim/domen.ru.key' unable to open file for reading: /etc/exim/dkim//domen.ru.key права менял - не помогает
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».