Здравствуйте. Чтобы письма, которые отправляются с web-сервера, не попадали в спам на почтовых серверах, нужно настроить DKIM.

В почтовом сервере Exim, который используется в Vesta CP, на операционной системе CENT OS, DKIM настраивается следующим образом:

  1. Генерируем секретный ключ (перед данной командой нужно убедится, что каталог /etc/exim/dkim существует, если не существует, то создаёте его):
openssl genrsa -out /etc/exim/dkim/example.com.key 1024

 

2. Генерируем публичный ключ, на основе секретного:

openssl rsa -in /etc/exim/dkim/example.com.key -pubout

Пример вывода (у вас ключ будет другой):

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCz7YJO6rMkgY63/gFmHNADSTlz
HfZX3Ky/YVk+14Y34PgFmuN9XdBtpUIfi8HA+a42WUTRz4Uuo+Bnz3cQjGRJrLAj
UAZko2GDp7xHP5IEh3K3a84R+p5LUwMxRTOK94cAUDKzHYGdMek3nWN4GJOYfI40
Kkvy34RJDbX42qeWZwIDAQAB
-----END PUBLIC KEY-----

 

3. Записываем вывод предыдущей команды в /etc/exim/dkim/example.com.public

nano /etc/exim/dkim/example.com.public

 

4. Добавляем в DNS TXT запись с публичным ключом домена:

mail._domainkey                 IN      TXT     "v=DKIM1; g=*; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCz7YJO6rMkgY63/gFmHNADSTlzHfZX3Ky/YVk+14Y34PgFmuN9XdBtpUIfi8HA+a42WUTRz4Uuo+Bnz3cQjGRJrLAjUAZko2GDp7xHP5IEh3K3a84R+p5LUwMxRTOK94cAUDKzHYGdMek3nWN4GJOYfI40Kkvy34RJDbX42qeWZwIDAQAB"

 

5. Проверяем DNS-запись:

dig mail._domainkey.example.com TXT

 

6. Редактируем файл /etc/exim/exim.conf и находим в нём 3 строки, похожие на следующие, комментируем их и вместо них вставляем:

DKIM_DOMAIN = ${lc:${domain:$h_from:}}
DKIM_FILE   = /etc/exim/dkim/${lc:${domain:$h_from:}}.key
DKIM_PRIVATE_KEY = ${if exists{DKIM_FILE}{DKIM_FILE}{0}}

 

7. Далее, в том же файле /etc/exim/exim.conf находим блок remote_smtp и изменяем его параметры следующим образом:

remote_smtp:
  driver = smtp
  dkim_domain = DKIM_DOMAIN
  dkim_private_key = DKIM_PRIVATE_KEY
  dkim_selector = mail
  dkim_canon = relaxed
  dkim_strict = yes

 

8. После этого перезагружаем сервис Exim:

service exim reload

 

9. После этого пробуем отправить письмо с сервера, например на почтовый ящик на Яндексе. И видим, что подпись работает:

primer_dkim