Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Андрей Мозговой
SMTP AUTH in da Postfix + Cyrus-SASL + Mysql + Courier-IMAP + DrWeb + SquirrelMail + SpamAssassin. Как собрать все это «хозяйство» с MTA Postfix, вы можете найти в следующих статьях:
n
n
n
Как прикрутить SpamAssassin, можно почитать здесь:
n А. Мозговой. Журнал «Системный администратор»
№9(10), стр. 50 (
n
Настоящая статья только вскользь опишет общую сборку большой связки.
Главная цель – настроить авторизацию по SMTP (без SSL) и выдержать стиль Mini-HOWTO.
Большая связка
Версии ПО, используемые мной на момент написания статьи:
n Linux Slackware-9.0 + Patches
n Postfix-2.0.13
n Cyrus-sasl-2.1.15
n Mysql-3.23.56
n Courier-imap-1.7.1
n Drweb-4.29.5
n SpamAssassin-2.55
n Squirrelmail-1.4.0
Честно говоря, у меня крутится MySQL, который поставляется вместе с дистрибутивом. MySQL, наверное, лучше установить/настроить первым. Качаем, распаковываем, конфигурим, собираем, устанавливаем. Заводим отдельного пользователя под Postfix, например, «postfix». Кстати, для повышения безопасности, почта все-таки, заставьте MySQL не слушать Сеть, общайтесь только через сокет-файл. Так оно и быстрее.
--- /etc/my.cnf ---
...
[mysqld]
…
skip-networking
...
--- EOF /etc/my.cnf ---
Создаем базу данных (mail), в которой будут храниться таблицы, содержащие все записи о почтовых бюджетах (users), синонимах (aliases) и обслуживаемых доменах (transport).
Поля таблиц
Можно обойтись несколькими полями в каждой таблице, но в Postfix-2.x.x появилась поддержка дополнительных полей/условий. Это очень удобно, почему бы не воспользоваться ими? Придерживаясь главной цели сей статьи, буду краток. Некоторые поля действительно необязательны, но они пригодятся, когда будем прикручивать веб-интерфейс собственного производства (тема следующей статьи).
CREATE TABLE users (
uid int(11) NOT NULL auto_increment,
gid int(11) NOT NULL default '12',
alias varchar(255) NOT NULL default '',
domain varchar(255) NOT NULL default '',
active enum('1','0') NOT NULL default '1',
maildir varchar(255) NOT NULL default '',
password varchar(255) NOT NULL default '',
password-crypt varchar(255) default NULL,
owner varchar(255) NOT NULL default '',
create_date datetime NOT NULL default '0000-00-00 00:00:00',
change_date datetime NOT NULL default '0000-00-00 00:00:00',