Для отправки писем установим и настроим exim на удаленном vps.
Система на vps — Debian 7 и доступ по ssh.
Устанавливаем exim4 и php5 если не установлен
apt-get install exim4 exim4-config php5
Правим sendmail_path в конфиге php /etc/php5/apache2/php.in
nano /etc/php5/apache2/php.ini
Добавляем строку sendmail_path /usr/sbin/exim4 -t и сохраняем.
Конфигурируем почтовый сервер exim
dpkg-reconfigure exim4-config
Отвечаем на вопросы
General type of mail configuration: 1 (internet site; mail is sent and received directly using SMTP)
System mail name: имя хоста (например mail.mydomain.com)
IP-addresses to listen on for incoming SMTP connections: просто нажимаем Enter (по умолчанию будет 127.0.0.1)
Other destinations for which mail is accepted: ничего не пишем, просто Enter
Domains to relay mail for: ничего не пишем, просто Enter
Machines to relay mail for: ничего не пишем, просто Enter
Keep number of DNS-queries minimal (Dial-on-Demand)? No
Delivery method for local mail: выбираем 1 вариант (хотя не важно что выберите)
Split configuration into small files? No
Теперь мастер закроется и будет перезагружен exim. Или так
/etc/init.d/exim4 restart
Проверяем работоспособность:
Создаем php-скрипт
nano test.php
<?php mail('admin@net.ck.ua', 'тема письма', 'тело письма', 'From: info@net.ck.ua'); ?>
php test.php
Или можно проверить так:
echo "Testing Exim" | mail -s Test admin@net.ck.ua
В такой конфигурации письма будут отправляться только с localhost.
Если хотим подключаться почтовым клиентом или чем-то ещё к smtp-серверу для отправки писем, нужно добавить в конфиг exim’a ip-адрес, с которого будет подключатся клиент. В противном случае будем получать ошибку 550 relay not permitted
Конфиги лежат в /etc/exim4
nano /etc/exim4/exim4.conf.template
Ищем параметр hostlist relay_from_hosts = и добавляем адреса. Адреса разделяем :
hostlist relay_from_hosts = 127.0.0.1 : localhost : 212.45.26.89 : mylan.ddns.ne
Не забываем делать /etc/init.d/exim4 restart после внесения изменений в конфигах.
Теперь сообщения отправляются, но будут попадать в спам. Для решения этой проблемы нужно настроить dkim, spf и ptr.
Также нужно прикрутить аутентификацию. Как только разберусь — допишу статью.
Pingback: Настройка DKIM SPF и PTR | Заметки сисадмина