Здравствуйте. Чтобы письма, которые отправляются с web-сервера, не попадали в спам на почтовых серверах, нужно настроить DKIM.
В почтовом сервере Exim, который используется в Vesta CP, на операционной системе CENT OS, DKIM настраивается следующим образом:
- Генерируем секретный ключ (перед данной командой нужно убедится, что каталог /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. После этого пробуем отправить письмо с сервера, например на почтовый ящик на Яндексе. И видим, что подпись работает: