Настраиваем почту
Принимать будем на Яндексе, отправлять с сервера и с Яндекса
Добавляем домен в Яндекс https://pdd.yandex.ru/
Подтверждаем права и добавляем NS запись (домен укажите свой)
вашдомен.ru. 3600 MX (почтовый сервер) mx.yandex.net. priority= 10
Добавляем почтовый ящик mail@вашдомен.ru https://pdd.yandex.ru/domain/вашдомен.ru/?show=all
Добавляем spf запись (домен и IP укажите свои)
вашдомен. 3600 TXT (текстовая запись) v=spf1 ip4:вашайписервера include:_spf.yandex.net ~all
Настраиваем DKIM
На странице https://pdd.yandex.ru/domain/вашдомен/?show=all, внизу есть ссылка "Показать содержимое записи" копируем и добавляем еще 2 ns записи
mail._domainkey.вашдомен. 3600 TXT (текстовая запись) v=DKIM1; k=rsa; t=s; p=тутвашдлинныйпубличныйключ...
_domainkey.вашдомен. 3600 TXT (текстовая запись) t=s; o=~;
Устанавливаем необходимые пакеты (centos)
yum install -y curl opendkim sendmail-cf m4
Получаем токен тут https://pddimp.yandex.ru/api2/admin/get_token
Делаем запрос на приватный ключ (в ssh консоли)
curl -H 'PddToken: ваштокен' 'https://pddimp.yandex.ru/api2/admin/dkim/status?domain=вашдомен&secretkey=yes'
Cоздаем файл /etc/opendkim/dkim.key и записываем в него приватный ключ (из секции secretkey), после меняем права
cd /etc/opendkim/ chown -R opendkim dkim.key chgrp -R opendkim dkim.key chmod 700 dkim.key
Создаем файл /etc/opendkim.conf и пишем в него:
Syslog yes UMask 002 Domain вашдомен KeyFile /etc/opendkim/dkim.key Selector mail SubDomains yes OversignHeaders From Socket inet:8891@localhost
В файл /etc/mail/sendmail.mc последней строкой добавляем:
INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@localhost')dnl
и выполняем команды:
cd /etc/mail/ m4 sendmail.mc > sendmail.cf service opendkim restart service sendmail restart
Указываем что у наших писем необходимо проверять DKIM
_adsp._domainkey.вашдомен. 3600 TXT (текстовая запись) dkim=all
Далее ждем пока обновятся DNS сервера и проверяем с помощью mail-tester.com Код для php отправки письма
mail('web-5a2rz@mail-tester.com', 'Проверка связи', 'Текст сообщение я бы продал тебе со скидкой по твоему заказу дешего', 'from: mail@вашдомен', '-f mail@вашдомен');
Так же можно проверить отправив письмо по адресу auth-results@verifier.port25.com, в ответ придет результат проверки.
Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.