Вернуться назад

Настройка почты на vds c vesta, ispmanager

 

Настройка отправки почты с клиентских серверов

 

      Для проверки работы почты можно использовать один очень удобный сервис проверки – https://mail-tester.com

     Однако следует учитывать что данный сервис позволяет провести лишь три проверки в сутки с одного айпи бесплатно, а вам как минимум понадобится две.

        Что необходимо сделать для нормальной работы почты:

- изменить hostname сервера на имя основного почтового домена;

- создать rDNS (или PTR) запись;

- создать правильные записи в днс для всех почтовых доменов (мы будем делать на примере одного, который собираемся указывать в hostname).

    По последнему пункту будут нужны записи MX, SPF, DKIM, DMARK, для MX  также должна быть А-запись. 

      Итак, рассмотрим пример когда на сервере есть какая-либо панель управления, к примеру Vesta  или Ispmanager. Указанные панели сами автоматически создают необходимые записи для доменов в разделе DNS или Доменные имена и нам остается только изменить хостнейм сервера и добавить rDNS.

 

      Для изменения хостнейма необходимо войти на сервер по ssh (это описывать не буду, есть масса инструкций в Сети), для обычного пользователя будет удобно установить файловый менеджер mc и запустить его. Входить необходимо с привилегиями пользователя root, либо войти под пользователем, но потом будет необходимо войти под root с помощью команд sudo su или su в зависимости от настроек сервера.

      Установить mc можно командами

      ОС Debian:

# apt-get –y install mc

      OC Centos:

# yum –y install mc

 

       Затем нам надо узнать текущий хостнейм, выполняем команду:

# hostname

 

        Получаем текущий хостнейм (на скрине часть вывода замазана, хостнейм не содержит пробелов):

 

 

          Запускаем файловый менеджер командой mc

          После запуска видим такое окно:

 

 

если мы начнем сейчас набирать текст, он будет отображаться внизу, в командной строке, набираем

 # cd /etc

Либо клавишами стрелок вверх-вниз и с помощью клавиши Enter можно войти в этот каталог.

       После того как вошли в каталог  /etc нажимаем клавишу F9, стреками курсора в верхнем меню выбираем Команда – Поиск файла

 

В появившемся меню поиска файла выставляем параметры:

 

В строке «от каталога» ставим точку - .

В строке «шаблон имени» ставим *

В строке «содержимое»  вставляем то, что дал вывод команды hostname, в нашем примере это будет ds16.ххххххххх.net

 

Остальное оставляем по-умолчанию как оно и было.

 

Нажимаем «Дальше» и получаем результат поиска:

 

 В результате поиска нам показан список файлов с номерами строк где содержится искомое нами значение hostname.

С помощью клавиш  стрелок вверх-вниз мы можем выбрать файлы содержащие наше значение и нажать клавишу F4 что позволит открыть этот файл в режиме редактирования.

       В левой части у нас будут прописаны IP-адреса сервера, чуть правее текущий хостнейм:

 

Этот текущий хостнейм мы заменяем на имя нашего почтового домена:

 

 

После изменения нажимаем клавишу F10 и подтверждаем сохранение изменений в файле нажав в предупреждении «Да».

 

            Этим же способом меняем текущий хостнейм на имя нашего домена во всех файлах которые выдал поиск.

            После замены хостнейма необходимо перегрузить сервер для применения параметров.

 

           Следующим шагом настраиваем rDNS. В этом случае лучше всего обратиться к хостеру где размещается ваш сервер, потому что не все хостеры дают возможность прописать клиенту эту запись самостоятельно. Вам лишь необходимо указать имя домена которое необходимо прописать (в нашем случае это основное имя почтового домена на которое мы меняли хостнейм), если на сервере один IP-адрес, этого будет достаточно, если адресов несколько, необходимо указать для какого айпи необходимо прописать основной почтовый домен, обычно это делается для того же адреса, на котором ваш домен находится.

            Будем считать что rDNS вам хостер прописал правильно, переходим к настройке записей DNS.

 

Важно: после настройки rDNS  применятся изменения только через сутки, поэтому окончательное тестирование надо проводить когда запись будет действительна.

           

     На скринах ниже видно, что в панелях веста и ispmanager уже все необходимые записи есть (они выделены желтым):

 

Ispmanager5

 

 

 

Vesta

 

Нам остается только проверить как работает почта, можно это проверить создав почтовый ящик в панели управления, но нам необходимо также проверить работу phpmail (в основном клиенты используют отправку сообщений на почту с помощью различных форм обратной связи, при этом используется именно phpmail), поэтому мы воспользуемся простеньким скриптом для проверки, который разместим в корне нашего основного домена (он же основной почтовый домен).

 

Назовем файл mail.php  и вставим в него следующий код:

Развернуть

 

<?php
$message = '';
if (isset($_POST['email']) && !empty($_POST['email'])){
if (mail($_POST['email'], $_POST['subject'], $_POST['body'], '')){
$message = "Email has been sent to <b>".$_POST['email']."</b>.<br>";
}else{
$message = "Failed sending message to <b>".$_POST['email']."</b>.<br>";
}
}else{
if (isset($_POST['submit'])){
$message = "No email address specified!<br>";
}
}

if (!empty($message)){
$message .= "<br><br>n";
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
Mail test
</title>
</head>
<body>
<?php echo $message; ?>
<form method="post" action="">
<table>
<tr>
<td>
e-mail
</td>
<td>
<input name="email" value="<?php if (isset($_POST['email'])
&& !empty($_POST['email'])) echo $_POST['email']; ?>">
</td>
</tr>
<tr>
<td>
subject
</td>
<td>
<input name="subject">
</td>
</tr>
<tr>
<td>
message
</td>
<td>
<textarea name="body"></textarea>
</td>
</tr>
<tr>
<td>
&nbsp;
</td>
<td>
<input type="submit" value="send" name="submit">
</td>
</tr>
</table>
</form>
</body>
</html>

 

 

Теперь откроем наш проверочный файл http://имя_нашего _домена/mail.php

 Увидим такую страницу:

 

 

 

В новой вкладке откроем наш сайт тестер - http://www.mail-tester.com/

 

 

Копируем адрес что нам выдал сайт-тестер в нашу форму и отправляем из формы любое сообщение, страницу сайта при этом не закрываем:

 

 

 

Если письмо отправлено удачно, в верхней части нашей страницы мы увидим сообщение:

 

Email has been sent to test-ххххх@mail-tester.com.

 

 

Теперь на сайте-тестере нажимаем кнопку “Затем проверьте оценку”

 

 

В итоге, если запись rDNS еще не действительна, вы получите такое:

 

 

А если все настроено правильно, оценка будет 10/10 и почта будет работать корректно.

 

Если же у вас будут какие-то ошибки, на сайте тестере можно развернуть разделы с ошибками и увидеть подробную информацию что именно не так и исправить то что упустили при настройке.


igel
Дата: 16 июля 2019 г. в 23:45:55

Автор: igel