Категорії
Mail systems Misc, staff, other

[vexim] Тюнингуем vexim

Продолжая тему о многофункциональном почтовом сервере exim и удобной админкой vexim хочется рассказать, о том, как немного улучшить работу с этой замечательной админкой: возможность просматривать пароли прямо из самого vexim’a, включить по умолчанию проверку на вирусы и спам.

1) Добавляем возможность просматривать пароли.

По умолчанию, он не отображает пароли, но в базе данных есть столбец с паролями, помимо столбца с его хешами. Вот собственно его и будем использовать. Столбец называется clear.

a) Редактируем файл adminuserchange.php

Открываем файл adminuserchange.php (он находится в корне vexim’a) и ищем такие строки

<tr>
<td><?php echo _('Email Address'); ?>:</td>
<td><?php print $row['username']; ?></td>
</tr>

Сразу после них добавляем такие

<tr>
<td><?php echo _('Current Password'); ?>:</td>
<td><?php print htmlspecialchars($row['clear']); ?></td>
</tr>

Сохраняем.

b) Редактируем файл adminuser.php

Открываем файл adminuser.php (он находится в корне vexim’a) и ищем такие строки:

<th><?php echo _('User'); ?></th>
<th><?php echo _('Email address'); ?></th>

После них вставляем такую:

<th><?php echo _('Password'); ?></th>

В итоге получается так:

<th><?php echo _('User'); ?></th>
<th><?php echo _('Email address'); ?></th>
<th><?php echo _('Password'); ?></th>

Теперь ищем строку

$query = "SELECT user_id, localpart, realname, admin, enabled

и добавляем в конец слово clear:

$query = "SELECT user_id, localpart, realname, admin, enabled, clear

Ну и в последнее – ищем строки

. '</a></td>';
print '<td>' . $row['localpart'] .'@'. $_SESSION['domain'] . '</td>';

и после них вставляем такую:

print '<td>' . htmlspecialchars($row['clear']) . '</td>';

Должно получиться так:

. '</a></td>';
print '<td>' . $row['localpart'] .'@'. $_SESSION['domain'] . '</td>';
print '<td>' . htmlspecialchars($row['clear']) . '</td>';

Сохраняем и наслаждаемся просмотром паролей. Теперь не зачем каждый раз лезть в базу данных и запросами извлекать пароли – пускай система это всё делает за нас.

2) Включаем по умолчанию проверку на вирусы и спам.

При создании пользователя через vexim нам предлагают на выбор достаточно много параметров, в том числе и проверку на вирусы и спам. Но по умолчанию эти галочки не стоят. Каждый раз ставить – это не подход сисадмина. Наш подход – как можно больше автоматизировать процесс. Ну что ж приступим. Открываем файл adminuseradd.php и ищем такие строки:

<td><input name="on_avscan" type="checkbox" /></td>
<td><input name="on_spamassassin" type="checkbox" /></td>

Теперь после конструкции type=”checkbox” в обеих строках добавляем ключевое слово checked, получаем такое:

<td><input checked="checked" name="on_avscan" type="checkbox" /></td>
<td><input checked="checked" name="on_spamassassin" type="checkbox" /></td>

Сохраняем и выходим.

3) Устанавливаем размер писем по умолчанию.

При создании пользователя удобно, что бы по умолчанию ставились ограничения на размер письма (иначе пользователи начнут фильмами обмениваться). Открываем файл adminuseradd.php в корне сайта и меняем строку

<input name="maxmsgsize" size="5" type="text" value="<?php echo $row['maxmsgsize']; ?>">Kb

на такую

<input name="maxmsgsize" size="5" type="text" value="10000">Kb

Этим мы поставили ограничения в 10МБ (на самом деле чуть меньше) на размер письма.

4) Исправляем неточности.

Заметил один момент: при создании пользователя и потом последующем редактировании галочка напротив Spamassassin уже не стоит, хотя при создании стояла и в БД в соответствующем поле стоит 1. На первый взгляд, код ничем не отличается от того, который выше (то есть для проверки на вирусы). НО! Это только на первый взгляд. Присмотрелся и понял. Сравните и вы

<?php if ($row['on_spamassassin'] == "1") {

и

<? if ($row['on_spamassassin'] == "1") {

Видите отсутствие php в первой открывающей угловой скобки. Если в вашем веб-сервере параметр short_open_tags установлен в ON, то у вас будет всё работать и ничего вы не заметите. Но у меня он установлен в OFF.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff