Метка: mail server

  • Посмотреть очередь postfix ( postqueue view emails )

    Для этого достаточно посмотреть

    postqueue -pCode language: Bash (bash)
  • Gmail на своём домене

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

    На что, я часто переспрашиваю, а правда ли он вам нужен? именно свой?

    Ведь гугл нам предоставляет бесплатно интерфейс gmail.com для своего домена.

    Для этого нужно зарегистрироваться на google apps

    http://www.google.com/a/cpanel/domain/new?hl=ru

    Дальше стандартная процедура регистрации и подтверждение домена.

    тут кому как удобнее, либо через  ns записи либо если к домену прикручен хостинг, то создаём файлик в корне сайта.

    Дальше правим mx записи

    mx записи

    10 строка будет правиться позже, чтоб наш веб интерфейс был доступен по адресу mail.domen.ru

    После мы попадаем в «админку»

    админка

    Где можно потыкать настройки, создать ещё почтовых ящиков

    ящики

    что нам это даст?

    • ящик вида name@domain.ru
    • возможность предоставлять ящики на домене другим людям
    • поддержка POP, SMTP, IMAP
    • около 7 ГГБ под почтовый ящик
    • ваша почта будет независима от хостинга, даже если у вас не будет хостинга
    • надежность, удобство почты Google

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

  • postfix белый лист ( postfix whitelist )

    Сложно найти баланс между ложными срабатывания на спамм и спамом 🙁

    Создаём файл

    touch /etc/postfix/whitelistCode language: Bash (bash)

    Добавляем в него записи, можно конкретный ящик, можно все ящики домена, можно домен с под доменами.

    user@examlpe.com OK
    @examlpe.com OK
    .example.ru OKCode language: Bash (bash)

    Теперь преобразим наш файл whitelist в индексированную базу данных, выполнив команду:

    postmap /etc/postfix/whitelistCode language: Bash (bash)

    Теперь смотрим каком типом БД пользуется наш postfix

    postconf | grep database_typeCode language: Bash (bash)

    Возможные варианты ответа hash, btree или dbm
    В зависимости от этого в секцию

    smtpd_sender_restrictionsCode language: Bash (bash)

    Добавляем строку

    check_sender_access  hash:/etc/postfix/whitelistCode language: Bash (bash)

    Вот как это выглядит у меня (не забываем про запятые после переменных) (вместо hash пишем свой тип БД)

    smtpd_sender_restrictions =
        check_sender_access  hash:/etc/postfix/whitelist,
        permit_sasl_authenticated,
        permit_mynetworks,
        reject_non_fqdn_sender,
        reject_unknown_sender_domain,
        permitCode language: Bash (bash)
  • ubuntu почтовый сервер ( ubuntu mail server )

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

    Во первых, задайте себе вопрос а насколько он нужен вам?

    если у вас до 50ти ящиков то очень рекомендую воспользоваться почтой от гугла на своём домене, я уже писал об этом способе.

    Экономия времени и нервов вам обеспечена!.

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

    Первый Postfix + Dovecot + MYSQL
    Вариант 2 более простой (postfix (smtp), sasl2 (Авторизция) cyrus-pop3d )

    Поехали
    Интерпритатора будет два, обычная командная строка (bash) и mysql

    bash:$>
    
    mysql: mysql>Code language: Bash (bash)

    Также все команды будут от root (обычно я запускаю sudo mc и жму ctrl+o и так получается консоль от root)

    Устанавливаем необходимые пакеты, также ставим phpmyadmin для более удобного управления базой + вэб интерфейс почты

    aptitude install postfix-mysql mysql-server dovecot-pop3d dovecot-imapd openssl phpmyadmin squirrelmailCode language: Bash (bash)

    Создаём БД + таблицы можно как и из консоли, так и из phpmyadmin
    Мне удобнее из phpmyadmin просто вводя запросы
    phpmyadmin

     mysql>
    create database mailserver;
    mysql>
    grant all on mailserver.* to mailuser@localhost identified by 'mailuserpasswd';
    exitCode language: SQL (Structured Query Language) (sql)

    Затем создайте таблицы в базе данных

     mysql>
    CREATE TABLE `virtual_domains` (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL
    ) ENGINE = InnoDB;
    mysql>
    CREATE TABLE `virtual_users` (
    id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    domain_id INT(11) NOT NULL,
    user VARCHAR(40) NOT NULL,
    password VARCHAR(32) NOT NULL,
    CONSTRAINT UNIQUE_EMAIL UNIQUE (domain_id,user),
    FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE) ENGINE = InnoDB;
    mysql>
    CREATE TABLE `virtual_aliases` (
    id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    domain_id INT(11) NOT NULL,
    source VARCHAR(40) NOT NULL,
    destination VARCHAR(80) NOT NULL,
    FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
    ) ENGINE = InnoDB;Code language: SQL (Structured Query Language) (sql)

    Создаём файлы конфигурации для Postfix’a с информацией о базе данных.

    touch /etc/postfix/mysql-virtual-mailbox-domains.cfCode language: Bash (bash)

    Вот с таким содержанием

     user = mailuser
    password = mailuserpasswd
    hosts = 127.0.0.1
    dbname = mailserver
    query = SELECT 1 FROM virtual_domains WHERE name='%s'Code language: Bash (bash)

    Этот запрос выбирает виртуальные домены (да да наш почтовый сервер будет работать на несколько доменов как реальных так и виртуальных)

    Применим конфигурацию postfix

    postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql-virtual-mailbox-domains.cfCode language: Bash (bash)

    Добавим в БД запись о первом виртуальном сервере example.com (не забываем поставить свой)

     $>
    mysql -p mailserver
    mysql>
    INSERT INTO virtual_domains (id, name) VALUES (1, 'example.com');
    exitCode language: SQL (Structured Query Language) (sql)

    Проверим всё ли верно мы сделали

     postmap -q example.com mysql:/etc/postfix/mysql-virtual-mailbox-domains.cfCode language: Bash (bash)

    Появится цифра 1 — значит всё сделано правильно.

    Теперь создаём пользователей, за них будет отвечать отдельная группа. создаём её

    $>
    groupadd -g 5000 vmail
    useradd -g vmail -u 5000 vmail -d /home/vmail -mCode language: Bash (bash)

    Примиряем изменения

    $>
    postconf -e virtual_uid_maps=static:5000
    $>
    postconf -e virtual_gid_maps=static:5000Code language: Bash (bash)

    Создадим тестовый почтовый ящик, например john@example.com с паролем johnpasswd

     mysql>
    INSERT INTO virtual_users (id, domain_id, user, password)
    VALUES (1, 1, 'john', MD5('johnpasswd'));Code language: SQL (Structured Query Language) (sql)

    Потом создаём view в базе данных.

     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;Code language: SQL (Structured Query Language) (sql)

    Проверим результат

     mysql>
    SELECT * FROM view_users;Code language: SQL (Structured Query Language) (sql)

    Вы должны увидеть это:

    +------------------+----------------------------------+
    | email | password |
    +------------------+----------------------------------+
    | john@example.com | 14123123123243372b1cb9275e6dd |
    +------------------+----------------------------------+Code language: Bash (bash)

    Создадим файл конфигурации для Postfix’a в котором укажем данные для работы с почтовыми ящиками наших пользователей

    touch /etc/postfix/mysql-virtual-mailbox-maps.cfCode language: Bash (bash)

    С содержанием

     user = mailuser
    password = mailuserpasswd
    hosts = 127.0.0.1
    dbname = mailserver
    query = SELECT 1 FROM view_users WHERE email='%s'Code language: Bash (bash)

    Применим изменения

     $>
    postconf -e virtual_mailbox_maps=mysql:/etc/postfix/mysql-virtual-mailbox-maps.cfCode language: Bash (bash)

    Проверьте результат командой

    postmap -q john@example.com mysql:/etc/postfix/mysql-virtual-mailbox-maps.cfCode language: Bash (bash)

    Вы должны увидеть цифру 1 если все правильно настроено.

    Если вам не нужны алиасы, можете пропустить этот пункт, но я редко такое вижу на практике

    они нужны для пересылки почты с одного ящика на другой, или с нескольких на один

    Добавим в базу данных тестовый альяс для нашего польователя john@example.com, вся почта пришедшая на его ящик будет дополнительно пересылаться на ящик jmiller@gmail.com

     INSERT INTO virtual_aliases (id, domain_id, source, destination)
    VALUES (1, 1, 'john', 'john@example.com'),
    (2, 1, 'john', 'jmiller@gmail.com');Code language: SQL (Structured Query Language) (sql)

    Создадим view для альясов по аналогии с view для пользователей

     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;Code language: SQL (Structured Query Language) (sql)

    Проверим результат

     SELECT * FROM view_aliases;Code language: SQL (Structured Query Language) (sql)

    Вы должны увидеть это

    +------------------+-------------------+
    | email | destination |
    +------------------+-------------------+
    | john@example.com | john@example.com |
    | john@example.com | jmiller@gmail.com |
    +------------------+-------------------+Code language: SQL (Structured Query Language) (sql)
    touch /etc/postfix/mysql-virtual-alias-maps.cfCode language: Bash (bash)

    С содержанием

    user = mailuser
    password = mailuserpasswd
    hosts = 127.0.0.1
    dbname = mailserver
    query = SELECT destination FROM view_aliases WHERE email='%s'Code language: Bash (bash)

    Проверим правильность настроек

     postmap -q john@example.com mysql:/etc/postfix/mysql-virtual-alias-maps.cfCode language: Bash (bash)

    Вы увидите это

    john@example.com,jmiller@gmail.comCode language: Bash (bash)
    touch /etc/postfix/mysql-email2email.cfCode language: Bash (bash)

    впишем в него

     user = mailuser
    password = mailuserpasswd
    hosts = 127.0.0.1
    dbname = mailserver
    query = SELECT email FROM view_users WHERE email='%s'Code language: Bash (bash)

    Запишем настройки в главный файл конфига Postfix

     $>
    postconf -e virtual_alias_maps=mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-email2email.cfCode language: Bash (bash)

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

    chgrp postfix /etc/postfix/mysql-*.cf
    chmod u=rw,g=r,o= /etc/postfix/mysql-*.cfCode language: Bash (bash)

    Далее настроим dovecot в качестве локального агента доставки писем, добавим в конец файла /etc/postfix/master.cf

     dovecot unix - n n - - pipe
    flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}Code language: Bash (bash)

    перезапускаем postfix

    postfix reloadCode language: Bash (bash)

    И добавляем информацию о виртуальном транспорте в главный конфиг Postfix

     postconf -e virtual_transport=dovecot
    postconf -e dovecot_destination_recipient_limit=1Code language: Bash (bash)

    Перейдем к настройкам dovecot, все файлы его конфигурации хранятся в папке /etc/dovecot, начнем настройку с файла /etc/dovecot/dovecot.conf

    Найдите строку protocols и смените на

     protocols = imap imaps pop3 pop3sCode language: Bash (bash)

    Так же изменяем строку disable_plaintext_auth до состояния disable_plaintext_auth = no

    также меняем параметр mail_location

     mail_location = maildir:/home/vmail/%d/%nCode language: Bash (bash)

    Найдите строку namespace private и измените до

     namespace private {
    separator = .
    prefix = INBOX.
    inbox = yes
    }Code language: Bash (bash)

    Перейдите к секции «auth default» и отредактируйте разрешенные механизмы аутентификации

     mechanisms = plain loginCode language: Bash (bash)

    В этой же секции измените

     passdb sql {
    args = /etc/dovecot/dovecot-sql.conf
    }Code language: Bash (bash)

    Меняем параметр userdb static

     userdb static {
    args = uid=5000 gid=5000 home=/home/vmail/%d/%n allow_all_users=yes
    }Code language: Bash (bash)

    Переходим к секции socket listen сдесь мы укажем файлы сокета для аутентификации dovecot

     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
    }
    }Code language: Bash (bash)

    Переходим к секции protocol lda, не забудьте сменить адрес постмастера на реальный

     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
    }Code language: Bash (bash)

    На этом файл можно сохранить.
    Далее редактируем файл /etc/dovecot/dovecot-sql.conf
    Делаем как ниже

     driver = mysql
    connect = host=127.0.0.1 dbname=mailserver user=mailuser password=mailuserpasswd
    default_pass_scheme = PLAIN-MD5
    password_query = SELECT email as user, password FROM view_users WHERE email='%u';Code language: Bash (bash)

    Перезапускаем dovecot

     /etc/init.d/dovecot restartCode language: Bash (bash)

    и смотрим лог файл /var/log/mail.log, там вы должны увидеть

     dovecot: Dovecot v1.0.rc15 starting up
    dovecot: auth-worker(default): mysql: Connected to 127.0.0.1 (mymailserver)Code language: Bash (bash)

    Правим права доступа к файлам конфигурации dovecot

     chgrp vmail /etc/dovecot/dovecot.conf
    chmod g+r /etc/dovecot/dovecot.confCode language: Bash (bash)

    Настроим TLS/SSL

     openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/dovecot.pem \
    -keyout /etc/ssl/private/dovecot.pemCode language: Bash (bash)

    Ответьте на несколько вопросов и сертификат будет создан, не забудьте указать правльно все параметры вместо примеров привеленных ниже

     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]:Russia
    Locality Name (eg, city) []:Russia
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:example.com
    Organizational Unit Name (eg, section) []:
    Common Name (eg, YOUR name) []:mail.example.com
    Email Address []:postmaster@example.comCode language: Bash (bash)

    Выставим права доступа на файл

     chmod o= /etc/ssl/private/dovecot.pemCode language: Bash (bash)

    Создадим еще один сертификат по аналогии с предыдущим

     openssl req -new -x509 -days 3650 -nodes -out /etc/ssl/certs/postfix.pem \
    -keyout /etc/ssl/private/postfix.pemCode language: Bash (bash)

    Сменим права доступа

     chmod o= /etc/ssl/private/postfix.pemCode language: Bash (bash)

    Вносим изменения в конфиг Postfix’a

     postconf -e smtpd_tls_cert_file=/etc/ssl/certs/postfix.pem
    postconf -e smtpd_tls_key_file=/etc/ssl/private/postfix.pem
    postconf -e smtpd_use_tls=yesCode language: Bash (bash)

    Теперь настроим аутентификацию SMTP, не забываем сменить примеры на реальные адреса сетей! В примере используется сеть 192.168.50.0/24 ей разрешено отправлятиь почту без SMTP авторизации.

     postconf -e mynetworks=192.168.50.0/24
    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_authenticated,reject_unauth_destinationCode language: Bash (bash)

    Редактируем файл /etc/postfix/main.cf изменив параметр размера почтового ящика например на 10 мегабайт

     mailbox_size_limit = 102400Code language: Bash (bash)

    На этом почти всё 🙂
    Перезапускаем postfix и dovecot
    /etc/init.d/postfix restart
    /etc/init.d/dovecot restart

    Проверим, всё и хорошо

    postfix checkCode language: Bash (bash)

    команда должна отдать пустой результат.

    Все ошибки и прочие события из жизни вашего почтовика вы можете найти в логах

    /var/log/mail.log
    /var/log/mail.err
    /var/log/mail.warn
    /var/log/mail.infoCode language: Bash (bash)

    Ах забыл совсем :)) у нас же есть ещё вэб морда для почты и завётся она
    Настройка Squirrelmail

    squirrelmail-configureCode language: Bash (bash)

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

    cp /etc/squirrelmail/apache.conf /etc/apache2/sites-available/squirrelmail
    ln -s /etc/apache2/sites-available/squirrelmail /etc/apache2/sites-enabled/squirrelmail
    a2ensite squirrelmailCode language: Bash (bash)

    Перезапустим апач

    /etc/init.d/apache2 force-reloadCode language: Bash (bash)

    Ну и всё готово 🙂
    Заходим на

    http://ip_servera/squirrelmailCode language: Bash (bash)

    вводим логин пароль (логин вводится целиком с доменом)
    squirrelmail

    Вариант 2 более простой (postfix (smtp), sasl2 (Авторизция) cyrus-pop3d )

    Стами postfix (smtp), sasl2 (Авторизция) cyrus-pop3d (POP3 демон)

    apt-get install postfix libsasl2-2 libsasl2-modules sasl2-bin cyrus-imapd-2.2 cyrus-pop3d-2.2 cyrus-admin-2.2Code language: Bash (bash)

    Во время первоначальной настройки postfix укажите конфигурацию для Интернет-сайта (Internet Site).
    На вопрос об имени почтового сервера-оставьте вариант по-умолчанию или укажите свой. В нашем случае это было domain.ru

    Настроим сервер авторизации saslauthd на использование базы данных паролей sasldb2.
    Для этого отредактируем файл /etc/default/saslauthd:

    START=yes
    MECHANISMS="sasldb"Code language: Bash (bash)

    Запускаем сервис

    /etc/init.d/saslauthd startCode language: Bash (bash)

    проверим работает ли он, но для начала необходимо добавить хотя бы одного пользователя.

    proxy:~# saslpasswd2 test
    Password:
    Again (for verification):Code language: Bash (bash)

    смотрим список пользователей

    proxy:~# sasldblistusers2
    test@proxy: userPasswordCode language: Bash (bash)

    Пробуем авторизироваться

    proxy:~# testsaslauthd -u test -p testCode language: Bash (bash)

    На что получаем ответ

    0: OK "Success.Code language: Bash (bash)

    У почтового сервера postfix есть одна особенность — после запуска он работает в chroot окружении, которое находится в папке /var/spool/postfix/

    Учитывая то, что для авторизации пользователей postfix будет использоваться демон saslauthd, нам нужно перенести его socket в рабочую директорию нашего сервера /var/spool/postfix/. Самый простой способ сделать это заключается в монтировании в нужную папку директории с уже созданным сокетом демона saslauthd.

    Делается это редактированием файла /etc/fstab.

    /var/run/saslauthd /var/spool/postfix/var/run/saslauthd none rw,bind 0 0Code language: Bash (bash)

    Не забудьте поставить [Enter] после последней строки.
    Создаём каталог и монтируем.

    mkdir -p /var/spool/postfix/var/run/saslauthd
    mount /var/run/saslauthdCode language: Bash (bash)

    Настраиваем postfix на работу с sasl авторизацией
    Добавим в /etc/postfix/main.cf

    smtpd_sasl_local_domain =
    smtpd_sasl_auth_enable = yes
    smtpd_sasl_security_options = noanonymous
    broken_sasl_auth_clients = yes
    smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
    smtpd_sasl_authenticated_header = yes
    smtpd_sasl_application_name = smtpdCode language: Bash (bash)

    запретим отсылать почту через наш SMTP шлюз без авторизации. Для этого создадим файл /etc/postfix/sasl/smtpd.conf со следующим содержимым.

    pwcheck_method: saslauthd
    mech_list: PLAIN LOGINCode language: Bash (bash)

    Перезапустим наш postfix сервер и просмотрим следующие файлы на предмет ошибок:

    /etc/init.d/postfix restart
    tail /var/log/mail.err
    tail /var/log/mail.info
    tail /var/log/mail.warn
    tail /var/log/mail.logCode language: Bash (bash)

    Если все чисто, сухо и гладко — обратимся к утилите telnet, для того, чтобы подключиться к нашему серверу.

    root@proxy:/var/log# telnet localhost 25
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    220 krasfun ESMTP Postfix (Ubuntu)
    EHLO www.ru
    250-krasfun
    250-PIPELINING
    250-SIZE 10240000
    250-VRFY
    250-ETRN
    250-STARTTLS
    250-AUTH PLAIN LOGIN
    250-AUTH=PLAIN LOGIN
    250-ENHANCEDSTATUSCODES
    250-8BITMIME
    250 DSN
    quit
    221 2.0.0 Bye
    Connection closed by foreign host.
    root@proxy:/var/log#Code language: Bash (bash)

    Если у вас нечто похожее — продолжаем

    Для того, чтобы «подружить» saslauthd и postfix необходимо выполнить следующее:

    adduser postfix saslCode language: Bash (bash)

    Cyrus — это мощный набор POP3/NNTP/IMAP и некоторых других демонов для создания полноценных сервисов работы с электронной почтой.

    Отредактируем файл /etc/imapd.conf

    admins: cyrus
    allowplaintext: yes
    sasl_mech_list: PLAIN
    sasl_pwcheck_method: saslauthd auxprop
    sasl_auxprop_plugin: sasldbCode language: Bash (bash)

    Обратите внимание, что cyrus так же, как и saslauthd, придется взаимодействовать с postfix, поэтому их нужно сделать доступными друг другу. Воспользуемся уже известным механизмом:
    /etc/fstab :

    /var/run/cyrus /var/spool/postfix/var/run/cyrus none rw,bind 0 0Code language: Bash (bash)

    создаём каталоги для cyrus.

    mkdir -p /var/spool/postfix/var/run/saslauthd
    mkdir -p /var/spool/postfix/var/run/cyrus
    mount /var/spool/postfix/var/run/saslauthd
    mount /var/spool/postfix/var/run/cyrusCode language: Bash (bash)

    Монтируем

    mount /var/run/cyrusCode language: Bash (bash)

    предоставим возможность cyrus забирать почту у postfix и отпалять почту на куда угодно. Отредактируем файл /etc/postfix/main.cf:

    mailbox_transport = lmtp:unix:/var/run/cyrus/socket/lmtp
    local_recipient_maps =Code language: Bash (bash)

    Добавим группу и добавим в неё постфикс

    addgroup lmtp
    adduser postfix lmtpCode language: Bash (bash)

    Дальше 2 команды

    dpkg-statoverride --remove /var/run/cyrus/socket
    dpkg-statoverride --force --update --add cyrus lmtp 750 /var/run/cyrus/socketCode language: Bash (bash)

    Добавим пользователя cyrus в нашу базу учетных записей:

    saslpasswd2 -c cyrusCode language: Bash (bash)

    Введите пароль, когда вас об этом попросят, и перезапустим наши демоны:

    /etc/init.d/postfix start
    /etc/init.d/cyrus2.2 restart
    /etc/init.d/saslauthd restartCode language: Bash (bash)

    Добавим почтового пользователя например saber и создадим ему каталоги

    saslpasswd2 –c saber
    cyradm localhost –user cyrus
    localhost> cm user.saber
    localhost> cm user.saber.INBOX
    localhost> cm user.saber.Sent
    localhost> cm user.saber.Draft
    localhost> cm user.saber.TrashCode language: Bash (bash)

    UPD1 01.02.2013 Эта часть,что выше, устарела немного и пользователь создаётся другим путём, я дословно не помню но примерно так

    saslpasswd2 saber
    
    cyradm
    login cyrus
    localhost> cm user.saber
    localhost> cm user.saber.INBOX
    localhost> cm user.saber.Sent
    localhost> cm user.saber.Draft
    localhost> cm user.saber.TrashCode language: Bash (bash)

    Вот как-то так я добалял пользователей недавно

    На этом всё, можно пользоваться, рекомендую ещё настроить шифрование, но мне оно не нужно было 😉

    Настройка клиента
    Буду на основе Аутглюк экспресс.
    Добавляем почтовый акк, в общем всё как обычно КРОМЕ
    не ставим галочку
    «Использовать безопасную бла бла SPA»

    и ставим галочку ниже Сервер исходящей почты «проверка подлинности пользователя»
    И всё можно пользоваться 🙂