Показать сообщение отдельно

Почтовый сервер на основе Postfix+Dovecot+Mysql+AMaViS Ubuntu 8.04 LTS
  #8  
Старый 09.12.2008, 09:44
Belfigor
Участник форума
Регистрация: 14.11.2007
Сообщений: 195
С нами: 9731283

Репутация: 98
По умолчанию Почтовый сервер на основе Postfix+Dovecot+Mysql+AMaViS Ubuntu 8.04 LTS

Почтовый сервер на основе Postfix+Dovecot+Mysql+AMaViS


Необходимые компоненты
* Postfix чтобы получать поступающие письма из internet и хранит их в почтовых ящиках пользователей на жёстком диске .
* Dovecot, Позволяет пользователям получать их письма на почтовый клиент через POP3 и IMAP
* Squirrelmail Как интерфейс webmail
* MySQL КАК база данных системы, которая загружает информацию о ваших доменах , отчетности пользователя и email пересылок
* AMaViS ДЛЯ сканирования поступающих писем на наличие вирусов, spam и нежелательных вложений .
Расписывать подробно тут про Postfix и Dovecot я не намерен , если кого то интересует дополнительная информация , добро пожаловать сюда Postfix http://afti.ru/start.html , Dovecot http://www.dovecot.org/

Для начало в /etc/apt/sources.list надо добавить нужные ссылки на допольнительные репозитарии , будем использовать редактор vim

Код:
vim /etc/apt/sources.list
в открывшемся файле добавляем следующие строки , в моём случае это локальный репозит , вы же можете использовать репозиты из интернета

далее выполняем

Код:
aptitude update или apt-get update
Теперь установим Postfix с поддержкой Mysql , устанавливать будем с зависимостями

Код:
aptitude install postfix-mysql

Затем нужно установиться сам Mysql , в котором будут храниться базы данных почтового сервера .В этих базах будут содержаться структуры таблиц доменов , транспорта , квоты , юзеры и их пароли .

Код:
aptitude install mysql-server-5.0

Ставим Dovecot , он будет обслуживать запросы пользователей с помощью протоколов imap, imaps, pop3, pop3s

Код:
aptitude install dovecot-pop3d
aptitude install dovecot-imapd
Желательно , установить спам-фильтры и антивирус , если вы не хотите , чтобы ваш почтовый сервер стал сервером рассылки спама и вирусов и попал бы в блэк-листы !

Код:
aptitude install amavisd-new libclass-dbi-mysql-perl
aptitude install spamassassin clamav-daemon cpio arj zoo nomarch lzop cabextract pax
Установим OpenSSL , он будет создавать сертификаты SSL (SSL (англ. Secure Sockets Layer — уровень защищённых сокетов) — криптографический протокол, обеспечивающий безопасную передачу данных по сети Интернет)

Код:
aptitude install openssl
Для облегчения установим PhpMyAdim , сам уже довольно редко пользуюсь им , просто он будет нужен для облегчения работы с базами данных mysql

Код:
aptitude install phpmyadmin libapache2-mod-php5 php5-mysql
Так с этим вроде бы покончили , приступаем к созданию баз данных и юзеров , для начало установим пароль на mysql
mysqladmin password ваш пароль
Создадим базу данных под названием mailserver
mysqladmin -p create mailserver
Создавать базы данных , юзеров и таблицы , можно и другими способами , не посредственно из mysql или с помощью phpmyadmin
Теперь заходим в mysql

PHP код:
mysql -u root -p ваш пароль 
и выполняем следующие команды , создаём пользователя mailuser c паролем mailuser2008 для базы данных mailserver

PHP код:
mysql>
GRANT SELECT ON mailserver.*
TO mailuser@localhost
IDENTIFIED BY 
'mailuser2008';
mysql> use mailserver;
Database changed

Создаём таблицу виртуальных доменов
mysql
CREATE TABLE `virtual_domains` (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50NOT NULL
ENGINE InnoDB;

Создадим таблицу виртуальных юзеров
mysql
>CREATE TABLE `virtual_users` (
id int(11NOT NULL AUTO_INCREMENT PRIMARY KEY,
domain_id INT(11NOT NULL,
user VARCHAR(40NOT NULL,
password VARCHAR(32NOT NULL,
CONSTRAINT UNIQUE_EMAIL UNIQUE (domain_id,user),
FOREIGN KEY (domain_idREFERENCES virtual_domains(idON DELETE CASCADE
ENGINE InnoDB;

Также нужно создать таблицу виртуальных алиасов для пересылки писем с одного аккаунта на другой аккаунт

mysql
>CREATE TABLE `virtual_aliases` (
id int(11NOT NULL AUTO_INCREMENT PRIMARY KEY,
domain_id INT(11NOT NULL,
source VARCHAR(40NOT NULL,
destination VARCHAR(80NOT NULL,
FOREIGN KEY (domain_idREFERENCES virtual_domains(idON DELETE CASCADE
ENGINE InnoDB;
Выходим из mysql
exit 
################################################## ########## #####

Примеры созданных таблиц
virtual_domains id name
1 example.com
2 foobar.org
virtual_users
id domain_id user password
1 1 john summersun
2 1 steve veryloud

virtual_aliases
id domain_id source destination
1 1 steve steve.miller@gmail.com
2 2 kerstin kerstin42@yahoo.com
3 2 kerstin kerstin@mycompany.com

################################################## ########## ######

Начинаем создавать конфигурационные файлы для Postfix
vim /etc/postfix/mysql-virtual-mailbox-domains.cf
в файле прописываем следующие строки
Цитата:
user = mailuser
password = mailuser2008
hosts = 127.0.0.1
dbname = mailserver
query = SELECT 1 FROM virtual_domains WHERE name='%s'
создаём следующие файлы конфигураций
Внесём изменения в конфигурационный файл Postfix main.cf , выполняем это командой postconf -e , postconf -e добавляет конфигурационные строки в наш main.cf


Код:
postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf

Возвращаемся в mysql в БД mailserver
mysql -p mailserver
Там создаём виртуальный домен

PHP код:
INSERT INTO virtual_domains (idnameVALUES (1'example.com');
exit 
Возвращаемся в консоль и проверяем правильность настроек виртуального домена командой, не забудьте сменить домен с example.com на свой.

Код:
postmap -q example.com mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
Результат должен быть:
1
Добавляем юзера и группу vmail
Цитата:
groupadd -g 5000 vmail
useradd -g vmail -u 5000 vmail -d /home/vmail -m
Вносим их в main.cf
Цитата:
postconf -e virtual_uid_maps=static:5000
postconf -e virtual_gid_maps=static:5000
Опять возвращаемся в mysql

mail - u root -p ваш пароль
и создаём виртуально пользователя , например belfigor

PHP код:
mysql>
INSERT INTO virtual_users (iddomain_iduserpassword)
VALUES (11'belfigor'MD5('belfigorsuperstar')); 
Проверям :
PHP код:
mysql>
SELECT CONCAT(virtual_users.user'@'virtual_domains.name) AS email
FROM virtual_users
LEFT JOIN virtual_domains ON virtual_users
.domain_id=virtual_domains.id;
Mysql должно напечатать следущие :
+------------------+
email |
+------------------+
|
belfigor@example.com |
+------------------+ 
Директория для этого юзера будет создана , такого типа /home/vmail/example.com/belfigor
Выполняем запрос на поле пароля в mysql

PHP код:
SELECT CONCAT(virtual_users.user'@'virtual_domains.name) AS email,
virtual_users.password
FROM virtual_users
LEFT JOIN virtual_domains ON virtual_users
.domain_id=virtual_domains.id
Результат должен быть такой :

Код:
+------------------+----------------------------------+
| email | password |
+------------------+----------------------------------+
| belfigor@example.com | 14cbfb845af1f030e372b1cb9275e6dd |
+------------------+----------------------------------+
Потом нам необходимо создать view в базе данных для нормальной работы сервера Postfix

mysql -u root -p ваш пароль

PHP код:
mysql>use mailserver;
mysql>
CREATE VIEW view_users AS
SELECT CONCAT(virtual_users.user'@'virtual_domains.name) AS email,
virtual_users.password
FROM virtual_users
LEFT JOIN virtual_domains ON virtual_users
.domain_id=virtual_domains.id
Создадим cf файл
vim /etc/postfix/mysql-virtual-mailbox-maps.cf
Цитата:
user = mailuser
password = mailuser2008
hosts = 127.0.0.1
dbname = mailserver
query = SELECT 1 FROM view_users WHERE email='%s'
Добавляем в main.cf эти строки
Цитата:
postconf -e virtual_mailbox_maps=mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
Проверяем если такой виртуальный юзер на сервере

Цитата:
postmap -q belfigor@example.com mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
Если видим результат 1 значит всё в порядке
Создадим в БД mailserver алиасы для юзера belfigor@example.com

PHP код:
mysql>
INSERT INTO virtual_aliases (iddomain_idsourcedestination)
VALUES (11'belfigor''belfigor@example.com'),
(
21'belfigor''raymond@gmail.com'); 
И тут же создаём view для виртуальных алиасов

PHP код:
mysql>
CREATE VIEW view_aliases AS
SELECT CONCAT(virtual_aliases.source'@'virtual_domains.name) AS email,
destination
FROM virtual_aliases
LEFT JOIN virtual_domains ON virtual_aliases
.domain_id=virtual_domains.id
Проверим наши алиасы:
Цитата:
mysql>
SELECT * FROM view_aliases;
Видим:
+------------------+-------------------+
| email | destination |
+------------------+-------------------+
|belfigor@example.com |belfigor@example.com|
|belfigor@example.com | raymond@gmail.com|
+------------------+-------------------+

Выходим из mysql quit;
Создём ещё один cf файл
vim /etc/postfix/mysql-virtual-alias-maps.cf
В него вносим
Цитата:
user = mailuser
password = mailuser2008
hosts = 127.0.0.1
dbname = mailserver
query = SELECT destination FROM view_aliases WHERE email='%s'
Тестируем postmap -q belfigor@example.com mysql:/etc/postfix/mysql-virtual-alias-maps.cf

Назначения должно быть следующего вида
belfigor@example.com,raymond@gmail.com
Сотворим cf файл
vim /etc/postfix/mysql-email2email.cf
в нём пишем
Код:
user = mailuser
password = mailuser2008
hosts = 127.0.0.1
dbname = mailserver
query = SELECT email FROM view_users WHERE email='%s'
Проверяем :
Цитата:
postmap -q belfigor@example.com mysql:/etc/postfix/mysql-email2email.cf
Результат :
belfigor@example.com
Добавим также строки в наш main.cf

Выставим нужные права , на наши конфигурационные файлы

Код:
chgrp postfix /etc/postfix/mysql-*.cf
chmod u=rw,g=r,o= /etc/postfix/mysql-*.cf
Следующий шаг , пересылка писем через Dovecot LDA
Находим файл master.cf в директории /etc/postfix/master.cf

в конце добавляем такие строки
vim /etc/postfix/master.cf
Код:
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
После перегружаем Postfix
Цитата:
postfix reload
Добавляем в main.cf строки , в консоли набираем
Код:
postconf -e virtual_transport=dovecot
postconf -e dovecot_destination_recipient_limit=1
################################################## ########## ####
C Postfix пока закончили , переходим к настройке Dovecot

Начнём с конфигурационного файла Dovecot который находиться в директории /etc/dovecot/
vim /etc/dovecot/dovecot.conf
Убираем # (с закомментированных строк)

Код:
protocols = imap imaps pop3 pop3s
disable_plaintext_auth = no
mail_location = maildir:/home/vmail/%d/%n/Maildir
Затем найдите секцию namespace private и пропишите следующие

Код:
namespace private {
separator = .
prefix = INBOX.
inbox = yes
}
Секция "auth default"должна выглядеть так :

PHP код:
mechanisms plain login 
Эта секция
Код:
 passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
Скажет Dovecot , что пароли хранятся в SQL database :

PHP код:
userdb static {
args uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes

Идём в секцию socket listen и приводим её в такое состояние

PHP код:
socket listen {
master {
path = /var/run/dovecot/auth-master
mode 
0600
user 
vmail
}
client {
path = /var/spool/postfix/private/auth
mode 
0660
user 
postfix
group 
postfix
}

Ну и на последок в секции protocol lda
Прописываем следующие

PHP код:
protocol lda {
log_path = /home/vmail/dovecot-deliver.log
auth_socket_path 
= /var/run/dovecot/auth-master
postmaster_address 
postmaster@example.com
mail_plugins 
cmusieve
global_script_path 
= /home/vmail/globalsieverc

Отредактируем файл dovecot-sql.conf

Цитата:
vim /etc/dovecot/dovecot-sql.conf
Код:
driver = mysql
connect = host=127.0.0.1 dbname=mailserver user=mailuser password=mailuser2007
default_pass_scheme = PLAIN-MD5
password_query = SELECT email as user, password FROM view_users WHERE email='%u';
Перезагрузим Dovecot
/etc/init.d/dovecot restart
Срочно бежим в логи и проверяем /var/log/mail.log, должно быть ТАК :
Цитата:
dovecot: Dovecot v1.0.rc15 starting up
dovecot: auth-worker(default): mysql: Connected to 127.0.0.1 (mymailserver)
Выставим нужные права на /etc/dovecot/dovecot.conf

Код:
chgrp vmail /etc/dovecot/dovecot.conf
chmod g+r /etc/dovecot/dovecot.conf
Перезагружаем Postfix и Dovecot

PHP код:
/etc/init.d/postfix restart
/etc/init.d/dovecot restart 
################################################## ########## #####

Теперь настаёт очень ОТВЕТСТВЕННЫЙ момент , мы начинаем КВН , шутка , мы будем тестировать наши smtp
и pop сервера !


в консоли :
Цитата:
telnet localhost smtp
дожно появиться следующие
Цитата:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 example.com ESMTP Postfix (Ubuntu)
скажем серверу "привет"
Цитата:
ehlo example.com
сервер должен нам ответить так :
Цитата:
250-my-new-mailserver
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Теперь пошлём тестовое письмо :
Цитата:
mail from:<raymond@example.com>
Так , всё в порядке , сервер сказал нам:
Цитата:
250 2.1.0 Ok
Письмо адресуем belfigor@example.com
Цитата:
rcpt to:<belfigor@example.com>
И видим , что Postfix разрешил :
Цитата:
250 2.1.5 Ok
Теперь мы готовы отсылать почту:
Цитата:
data
Postfix тоже соглашается и разрешает нам посылать почту и в итоге выводит нам такие строки:
Цитата:
354 End data with <CR><LF>.<CR><LF>
Напечатаем письмо
Цитата:
Hi belfigor,
I know , that you hacked Microsoft , it's fine :d .
.
Жмём ENTER :
Postfix , сообщает нам ,что получил почту и поставил в очередь под очередью ID:
Цитата:
250 2.0.0 Ok: queued as A9D64379C4
Низкий поклон тебе Postfix и мы выходим
Цитата:
quit
Смотрим логи ,/var/log/mail.log
Цитата:
postfix/smtpd[...]: connect from localhost[127.0.0.1]
postfix/smtpd[...]: 5FF712A6: client=localhost[127.0.0.1]
postfix/cleanup[...]: 5FF712A6: message-id=<...>
postfix/qmgr[...]: 5FF712A6: from=<raymond@example.com>, size=364, nrcpt=1 (queue active)
postfix/pipe[...]: 5FF712A6: to=<belfigor@example.com>, relay=dovecot, ..., status=sent (delivered via dovecot service)
postfix/qmgr[...]: 5FF712A6: removed
postfix/smtpd[...]: disconnect from localhost[127.0.0.1]
Если всё настроено верно то должно быть так !
Но если в логах вы видите ошибки , выполните команду postfix check для проверки правильности настроек и прав доступа на файлы, команда должна отдать пустой результат.
И всё ошибки и какие то отклонения от нормального функционала , можно проглядеть тут :
/var/log/mail.log
/var/log/mail.err
/var/log/mail.warn
/var/log/mail.info
################################################## ########## #####

Идём в нашу домашнию директорию cd /home/vmail/example.com/belfigor

и видим вот такие папки
Цитата:
./cur
./new
./new/1179521979.V801I2bbf7M15352.mailtest
./tmp
Очень удобно работать с папками и директориями с помощью midnight commander
установим его
Код:
apt-get install mc
################################################## ########## #####

Тестируем POP сервер
Цитата:
telnet localhost pop3
Сервер отвечает:
Цитата:
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
Логинемся:
Цитата:
user belfigor@example.com
Dovecot ответил :
Цитата:
+OK
Здорово, теперь посылаем пароль :
Цитата:
pass belfigorsuperstar
Ну вот мы и дома :
Цитата:
+OK Logged in.
Просмотрим наши письма :
Цитата:
list
Dovecot ответит нам , что у нас есть одно письмо :
Цитата:
+OK 1 messages:
1 474
Выберем письмо под номером 1:
Цитата:
retr 1
Dovecot посылает нам письмо :
Цитата:
+OK 474 octets
Return-Path: <raymond@example.com>
X-Original-To: belfigor@example.com
Delivered-To: belfigor@example.com
Received: from example.com (localhost [127.0.0.1])
by ... (Postfix) with ESMTP id 692DF379C7
for <john@example.com>; Fri, 18 May 2007 22:59:31 +0200 (CEST)
Message-Id: <...>
Date: Fri, 18 May 2007 22:59:31 +0200 (CEST)
From: steve@example.com
To: undisclosed-recipients:;
Hi Belfigor,
I know, that you hacked Microsoft , it's fine :d
.
Ну что же , как видим всё работает просто замечательно , и мы с чистой совестью и с радостным чувством , выходим с сервера
Цитата:
quit
+OK Logging out.
Connection closed by foreign host.
Тестировать IMAP у меня как то нет уже желания .

Так что начинаем созвать SSL/TLS , сертификаты доверий
в консоли :

Код:
openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/dovecot.pem \
-keyout /etc/ssl/private/dovecot.pem
В консоли появятся такие строки:
Цитата:
Generating a 1024 bit RSA private key
.........++++++
............................++++++
writing new private key to '/etc/ssl/certs/dovecot.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
Во время создания ключа и сертификата , вам зададут несколько вопросов, ответить на них нужно следущим образом , в моём случае это :
Цитата:
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Belgorod
Locality Name (eg, city) []:Belgorod
Organization Name (eg, company) [Internet Widgits Pty Ltd]:workaround.org
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:mailtest.workaround.org
Email Address []ostmaster@workaround.org
Выставим права на этот сертификат :
Цитата:
chmod o= /etc/ssl/private/dovecot.pem
################################################## ########## #####

Аутификация по SMTP
правим наш main.cf
Цитата:
postconf -e mynetworks=192.168.0.0/24
Настройки SASL
Код:
 postconf -e smtpd_sasl_type=dovecot
postconf -e smtpd_sasl_path=private/auth
postconf -e smtpd_sasl_auth_enable=yes
postconf -e smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_a uthenticated,reject_unauth_destination
Проглядеть значение всех параметров можно используя команду
postconf

Создадим ещё один ключ/сертификат ,уже выше указанным методом:

Код:
openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/postfix.pem \
-keyout /etc/ssl/private/postfix.pem
Ключи и сертификаты , будут лежать у нас в директории
/etc/ssl/certs/dovecot.pem и /etc/ssl/private/dovecot.pem
Выставим права на них
Цитата:
chmod o= /etc/ssl/private/postfix.pem
Укажем Postfix на эти сертификаты
Цитата:
postconf -e smtpd_tls_cert_file=/etc/ssl/certs/postfix.pem
postconf -e smtpd_tls_key_file=/etc/ssl/private/postfix.pem
SMTP аутификация в Postfix будет отсылаться в plain text и будет проходить в закодированной передаче верительных грамот,
установим эти параметры

PHP код:
postconf -e smtpd_use_tls=yes
postconf 
-e smtpd_tls_auth_only=yes 
__________________________________________________ _____________
Переходим к настройке AMaViS

Фильтрация spam и viruses

В файле /etc/amavis/conf.d/15-content_filter_mode , удаляем комментарии # возле

Код:
 @bypass_...
это сделает наши фитры рабочими
в файле /etc/spamassassin/local.cf добавляем строку [/code]

Код:
bayes_auto_expire 0
Этим мы отключаем автоматическое истечения срока распознования спам писем .
Перезагружаем AMaViS
Код:
/etc/init.d/amavis restart
Нужно удостовериться что AMaViS слушает TCP port 10024 :

Код:
netstat -nap | grep 10024
Вывод :
Код:
tcp 0 0 127.0.0.1:10024 0.0.0.0:* LISTEN 12345/amavisd
На наличие ошибок смотрим /var/log/mail.log

Несколько слов о функциях Аmavis ,если например нам послали письмо из интернета , то его сначало получит Postfix на порту 25 , затем если Postfix разрешит это письмо , то он перешлёт его к AMaViS на TCP порт 10024 (SMTP)и если оно соответствует теребывания политики AMaViS , то AMaViS посылает его обратно Postfix на TCP порт 10025 (SMTP)

Для этого выполним следущие команды :

Код:
postconf -e content_filter=smtp-amavis:[127.0.0.1]:10024
postconf -e receive_override_options=no_address_mappings
Так же нужно добавить smtp-amavis службу в файл /etc/postfix/master.cf , в конце файла прописываем

vim /etc/postfix/master.cf

PHP код:
smtp-amavis unix - - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20[/quote][quote]
127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_delay_reject=no -o smtpd_client_restrictions=permit_mynetworks,reject -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o smtpd_data_restrictions=reject_unauth_pipelining -o smtpd_end_of_data_restrictions= -o mynetworks=127.0.0.0/-o smtpd_error_sleep_time=-o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000 -o smtpd_client_connection_count_limit=-o smtpd_client_connection_rate_limit=-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks -o local_header_rewrite_clients
Перегружаем Postfix
Код:
postfix reload
Приступаем к настройке Сlamav

Добавим clamav в члены группы amavis

Цитата:
adduser clamav amavis
презагружаем демона
Цитата:
/etc/init.d/clamav-daemon restart
Отредактируем файл

vim /etc/amavis/conf.d/50-user
перед "1;"
Прописываем эти строки
Код:
@lookup_sql_dsn = ( ['DBI:mysql:database=mailserver;host=127.0.0.1;port=3306', 'mailuser', 'mailuser2008']);

$sql_select_policy = 'SELECT name FROM virtual_domains WHERE CONCAT("@",name) IN (%k)';
Ребут

Цитата:
/etc/init.d/amavis restart
Теперь посылаем письмо belfigor@example.com , если вы проверите заголовки письма , то вы найдёте строки добавленные Amavis

Цитата:
X-Virus-Scanned: Debian amavisd-new at mymailserverX-Spam-Score: 0X-Spam-Level:X-Spam-Status: No, score=0 tagged_above=-9999 required=6.31 tests=[none]
Теперь все входящие письма будут проверяться на спам и вирусы

Попробуем отослать нашему юзеру спам письмо

Цитата:
sendmail belfigor@example.com < /usr/share/doc/spamassassin/examples/sample-spam.txt
В /var/log/mail.log мы увидем строки прописынные Amavis

Цитата:
amavis[13001]: (13001-02) Passed SPAM, <...> -> <john@example.com>, ...
Выставим права на файл :

Код:
chmod o= /etc/amavis/conf.d/50-user
################################################## ###############
Ну думаю на этом я пока и остановлюсь , значит заводить новых юзеров можно , не посредственно в mysql
PHP код:
mysql>
INSERT INTO virtual_users (iddomain_iduserpassword)
VALUES (11'новый юзер'MD5('пароль юзера')); 

Или через phpMyAdmin , я выбрал скрип написынный на php mail_control.php очень лёгкий и удобный , можно легко и быстро создавать домены и юзеров .

Теперь Белку (squirrelmail) я не люблю , и просто заюзал Mozilla Thunderbird , а для Веб интерфейса пожно использовать roundcube , UebiMiau и ещё много других разных клиентов можно найти в инетерете .

От себя хочу сказать , что это не полный перевод , если кто желает подробно вникнуть с суть дела , то добро пожаловать сюда http://workaround.org/articles/ispmail-etch/ , для гуру и опытных почтоводов , этот скромный мануал думаю не пригодиться , а вот новичкам с самый раз , свои конфиги я выкладывать не буду , дабы не было банального копипаста , поверте он не даёт ничего хорошо , уже лучше поседеть суток так двое , трое и самому понять работу данного почтового сервера ! имхо

По данном мануалу , почтовый сервер был поднят и настроен 5 раз , ошибок не наблюдалось , багов пока тоже . Одновременно на другом сервера заюзал связку
Postfix, Courier, MySQL And SquirrelMail (Ubuntu 8.04 LTS) , опять же имхо , но Postfix+Dovecot+Mysql+AMaViS мне понравилась больше, хотя у каждой связки есть свои приемушества !
Желаю успехов на поднятии и настройки почтовых серверов , с уважением Belfigor .

источник http://workaround.org/articles/ispmail-etch/

Последний раз редактировалось Belfigor; 09.12.2008 в 09:59..
 
Ответить с цитированием