Linux courier что это

Почтовый сервер — Courier Mail Server

Почтовый сервер на основе открытых протоколов ESMTP, IMAP, POP3, LDAP, SSL и HTTP.

Courier Mail Server (The Courier Mail Server) может функционировать как почтовый релей (mail relay) между внутренней локальной сетью LAN сетью интернет или выполнять окончательную доставку писем в почтовые ящики. Этот почтовый сервер наиболее известен за свою серверную компоненту IMAP (сервер электронной почты).

Courier Mail Server использует Maildir как свой родной формат хранения данных. Файлы конфигурации имеют текстовый формат и могут включать в себя скрипты Perl, может обеспечивать почтовые услуги для учетных записей операционных систем. Courier Mail Server может также обеспечить почтовые услуги для виртуальных почтовых аккаунтов, управляемых любой службой каталогов LDAP, Berkeley DB, MySQL или базой аутентификации PostgreSQL.

Компоненты Courier Mail Server, такие, как система фильтрации maildrop, серверы webmail и IMAP, могут быть установлены также как независимые пакеты, которые можно использовать с другими почтовыми серверами. Courier-IMAP популярен в комбинации с серверами Qmail, Exim и Postfix, которые конфигурируются, чтобы использовать формат хранения электронной почты Maildir.

Несмотря на наличие в комплекте таких составляющих как SMTP сервер, pop3d и системы ведения списков рассылки. Courier MTA — это прежде всего 3 составляющих: базирующийся на Maildir IMAP сервер, система фильтрации почты maildrop и удобная система работы с почтой (включая проверку орфографии, адресную книгу через LDAP и индивидуальную настройку фильтров) посредством web-интерфейса (webmail).

Исходный код Courier Mail Server компилируется на большинстве POSIX-подобных операционных систем, основанных на ядрах Linux и BSD.

Источник

Courier-0.47

Введение в Courier

Пакет Courier содержит Mail Transport Agent ( MTA ). Он полезен для отправки почты другим пользователям на вашей машине. Так же он может быть настроен в качестве центрального сервера почты вашего домена или в качестве агента перенаправления почты. Пакет Courier так же включает web-основанный интерфейс почты, IMAP , IMAP — SSL , POP 3 и POP 3- SSL .

Информация о пакете

Контрольная сумма: 639bb3b236914e3b86f287ce3f55264e

Требуемое дисковое пространство: 102 MB

Расчетное время сборки: 2.62 SBU

Зависимости Courier

Требуемые
Опционально

Установка Courier

Замечание

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

Перед началом сборки программы вам надо создать пользователя и группу courier, которые должны присутствовать в системе перед запуском скрипта install. Как пользователь root, добавим пользователя и группу courier при помощи следующих команд:

Скрипт install так же ожидает наличия пользователя bin. Если у вас уже есть пользователь с именем bin, то этот шаг может быть пропущен.

Courierfilter требует директорию /var/run/courier для сохранения всех pid и lock-файлов для Courier . /var/lock/subsys так же должен присутствовать для основного lock-файла Courier . Выполним следующие команды для создания этих директорий:

Соберем Courier под непривилегированным пользователем при помощи следующих команд:

А теперь опять станем пользователем root и установим Courier при помощи следующих команд:

Описание команд

--libexecdir=/usr/lib/courier: Описывает директорию, которая содержит программы и библиотеки, которые не могут быть непосредственно запущены из командной строки.

--datadir=/usr/share/courier: Описывает директорию, в которую будут установлены различные скрипты оболочки, Perl скрипты и файлы данных.

--localstatedir=/var/spool/courier: Описывает директорию, которая будет содержать очередь почты и другие временные данные.

--with-piddir=/var/run/courier: Описывает директорию, в которой сохраняются PID файлы Courier когда Courier активен.

—with-paranoid-smtpext: Быть параноиком при переговорах Courier-specific ESMTP расширений с удаленными серверами. Почтовый сервер Courier описывает и реализует некоторые экспериментальные ESMTP расширения: XVERP и XEXDATA. Проблемы могут быть следствием событий, когда кто-то другой использует то же самое имя для реализации другого расширения. Если эта опция описана, то ESMTP сервер Courier а так же будет объявлять фиктивную возможность ESMTP , называемую XCOURIEREXTENSIONS, и не будет узнавать любые Courier-специфичные расширения пока удаленный почтовый сервер так же объявляет эту фиктивную ESMTP возможность.

—disable-autorenamesent: Не переименовывать папку Sent каждый месяц. Так же эта опция может быть контролирована переменной окружения SQWEBMAIL_AUTORENAMESENT.

—enable-workarounds-for-imap-client-bugs: Есть несколько подтвержденных ошибок в некоторых клиентах IMAP , которые не правильно реализуют протокол IMAP 4rev1. Эта опция включает некоторые обходы для этих ошибочных IMAP клиентов. ЗАМЕЧАНИЕ: make check при использовании этой опции будет выпадать. Сначала вы должны использовать configure без этой опции и, если все послеконфигурационные тесты проходят, перезапустить configure с этой опцией и пересобрать.

Читайте также:  Linux mint как расшарить папку по сети

--with-db=gdbm: Courier так же требует библиотеку базы данных GDBM или DB . GDBM используется если присутствуют обе. Эта опция принудительно выбирает GDBM , так как в данный момент courier не работает при использовании DB .

--with-ispell=/usr/bin/aspell: Сервер интернет почты Courier может использовать проверку орфографии если configure находит ispell или если вы точно установите положение aspell .

Источник

📑 Почтовый сервер на Postfix и Courier с MySQL

Статей на эту тематику написано много, но в основном они содержат ошибки или неточности. В этой статье мы постарались исправить все ошибки и она является работоспособной. Почему courier, а не dovecot? Так исторически сложилось. Courier намного проще и для внутренней корпоративной почты вполне подходит — по крайней мере до сих пор нареканий не было. Ну и всегда можно прикрутить fetchmail, procmail и т.п.

Устанавливаем необходимые пакеты:

В ходе установки отвечаем на следующие вопросы:

Создадим базу данных в MySQL

В MySQL создадим пользователя mail_admin и предоставим ему права на базу данных mail.

В базе данных создадим таблицы domains, forwardings, users и transport.

Таблица domains будет хранить наименования виртуальных доменов, для которых Postfix будет получать письма. Таблица forwardings будет содержать псевдонимы почтовых ящиков. Таблица users будет содержать всю информацию о виртуальных пользователях. Таблица transport необязательного характера, она для продвинутых пользователей. Позволяет перенаправлять почту отдельных пользователей, доменов либо всю почту на другой почтовый сервер.

Проверим, на каком адресе слушает MySQL. Для этого выполним:

Ответ должен быть следующим:

Создадим 4 файла конфигурации для postfix. В каждом из них убеждаемся, что параметр password задан верно.

Выставим права и владельца на созданные файлы:

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

Внесем изменения в конфигурацию postfix. Проверьте параметры, относящиеся к вашему почтовому серверу

В ходе генерации отвечаем на ряд простых вопросов:

Дадим на него права:

Создадим каталог для saslauthd

Отредактируем файл /etc/default/saslauthd. Изменим параметры START и OPTIONS на следующие:

Создадим файл /etc/pam.d/smtp и вставим в него две строки (измените пароль на свой):

Создаем файл /etc/postfix/sasl/smtpd.conf и добавляем в него следующие сотроки:

Добавляем пользователя postfix в группу sasl и перезапускаем postfix и saslauthd:

Сохраняем файл /etc/courier/authmysqlrc. Вместо него создаем вместо него пустой файл:

Добавляем в созданный файл следующее:

Удаляем оригинальные сертификаты, созданные Courier

В файлах /etc/courier/imapd.cnf и /etc/courier/pop3d.cnf заменяем CN=localhost на CN=полное_доменное_имя_почтового_сервера.
Регенерируем сертификаты и перезапускаем сервисы:

Редактируем псевдонимы в файле /etc/aliases:

Обновляем алиасы и перезапускаем postfix:

Проверяем наш smtp сервер:

Когда подключимся, выполняем

Если все правильно настроили, вывод будет примерно таким:

Теперь можно создавать виртуальные домены и пользователей. Для этого заходим в MySQL:

Для создания почтового ящика отправляем письмо на адрес ozzy@yourdomain.local

Сначала вводите тему сообщения, потом тело. Для выхода из редактирования нажимаем Ctrl+D.
Все. Можно настраивать почтовых клиентов.

Источник

Рабочий дневник

FreeBSD, Линуксы, юниксы, виндовсы, принтера, юзеры, и прочее

четверг, 4 августа 2011 г.

Установка и настройка почтового сервера на базе Courier и Postfix в Ubuntu

Для быстрой настройки почтового сервера связка Courier и Postfix является очень удобной.

Для работы нам понадобится наличие домена с обратным преобразованием оного и записью типа MX, а также база данных MySQLдля хранения информации о пользователях и доменах.

Также нужно открыть доступ к следующим портам :

25 (SMTP), 110, 995 (POP, POPS), 143, 993 (IMAP, IMAPS)

Самый простой способ настроить место для хранения почты — создать пользователя vmail с соответствующей группой и назначить ему специфичный userID.

Пользователь vmail создается как обычно, но с некоторым отличием: мы указываем, что пользователь не может логиниться в систему.

Для начала создадим группу vmail:

sudo groupadd -g 5000 vmail

Это команда создает группу vmail и присваивает ее GID (group ID) 5000.

Затем создаем пользователя vmail:

sudo useradd -s /usr/sbin/nologin -g vmail -u 5000 vmail -d /home/vmail -m

Эта команда создает пользователя vmail, чтобы он не мог логиниться в систему, присваивает его группе vmail, а так же создает ему домашнюю директорию /home/vmail

sudo apt-get install postfix postfix-mysql postfix-tls libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl

В процессе установки Postfix сервера вначале система выведет на экран окно с информацией, после чего потребуется выбрать пункт ‘Internet Site’.

Читайте также:  Merge two folders linux

На вопрос о имени имя вашего почтового домена mail.domen1.com.

Для начала создадим базу данных с оригинальным названием — mail.

mysqladmin -u root -p create mail

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

Далее залогинимся в MySQL и создадим несколько таблиц.

mysql -u root -p

Для начала создадим пользователя БД, для наших целей.

CREATE USER ‘mailadmin’ @ ‘localhost’ IDENTIFIED BY ‘MyPasswordHere’ ;

Замените MyPasswordHere на свой собственный пароль.

Далее, дадим этому пользователю необходимые привилегии:

FLUSH PRIVILEGES ;

GRANT SELECT , INSERT , UPDATE , DELETE ON `mail` . * TO ‘mailadmin’ @ ‘localhost’ ;

FLUSH PRIVILEGES ;

1. Теперь мы можем выбрать нашу БД mail и создать необходимые таблицы.

USE mail;

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

Таблица доменов. В Mysql введите следующие команды:

CREATE TABLE domains (

domain varchar (50) NOT NULL ,

PRIMARY KEY (domain)

TYPE=MyISAM;

Таблица пользователей. Как раньше, введите в MySQL:

CREATE TABLE users (

email varchar (80) NOT NULL ,

password varchar (20) NOT NULL ,

PRIMARY KEY (email)

TYPE=MyISAM;

CREATE TABLE forwards (

source varchar (80) NOT NULL ,

destination TEXT NOT NULL ,

PRIMARY KEY (source)

TYPE=MyISAM;

Теперь можно выйти из MySQL.

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

Создадим текстовый файл:

sudo nano /etc/postfix/mysql-domains.cf

Введем следующие строки:

user = mailadmin

password = MyPasswordHere

dbname = mail

query = SELECT domain AS virtual FROM domains WHERE domain=’%s’

hosts = 127.0.0.1

MyPasswordHere надо заменить на введенный при создании пользователя БД mailadmin пароль.

sudo nano /etc/postfix/mysql-forwards.cf

user = mailadmin

password = MyPasswordHere

dbname = mail

query = SELECT destination FROM forwards WHERE source =’%s’

hosts = 127.0.0.1

Каждый домен имеет множество различных почтовых ящиков. Этот скрипт получает правильные характеристики почтового ящика.

sudo nano /etc/postfix/mysql-mailboxes.cf

user = mailadmin

password = MyPasswordHere

dbname = mail

query = SELECT CONCAT(SUBSTRING_INDEX(email,’@’,-1),’/’,SUBSTRING_INDEX(email,’@’,1),’/’) FROM users WHERE email=’%s’

hosts = 127.0.0.1

И наконец создадим файл адресов.

sudo nano /etc/postfix/mysql-email.cf

user = mailadmin

password = MyPasswordHere

dbname = mail

query = SELECT email FROM users WHERE email=’%s’

hosts = 127.0.0.1

Эти четыре файла позволят Postfix-у получить доступ к информации в базе данных mail и присвоить корректные данные каждому письму.

Установим нужные права:

sudo chmod o= /etc/postfix/mysql-*

(другие группы не имеют доступа к файлам.

И сменим владельца:

sudo chgrp postfix /etc/postfix/mysql-*

Postfix должен иметь к ним доступ.

Теперь настроим Postfix

Отредактируем файл настроек Postfix:

sudo nano /etc/postfix/main.cf

Обычно нижняя часть файла выглядит так:

myhostname = mail.domen1.com

alias_maps = hash :/etc/aliases

alias_database = hash :/etc/aliases

myorigin = /etc/mailname

mydestination =

relayhost =

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

mailbox_size_limit = 0

recipient_delimiter = +

inet_interfaces = all

Убедитесь, что mydestination не сделано присвоение.

Добавим ссылки на созданные файлы настроек, чтобы Postfix использовал их в процессе работы. В конец файла добавьте строки:

virtual_alias_domains =

virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-forwards.cf, mysql:/etc/postfix/mysql-email.cf

virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-domains.cf

virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-mailboxes.cf

virtual_mailbox_base = /home/vmail

virtual_uid_maps = static:5000

virtual_gid_maps = static:5000

proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps

Дальше нужно настроить безопасное соединение.

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

Посмотрим основной файл настроек программы:

sudo nano /etc/default/saslauthd

Первым делом надо установить автоматический запуск демона (поменяйте значение на ‘yes’. По умолчанию стоит ‘no’):

# Should saslauthd run automatically on startup? (default: no)

START= yes

Далее нужно изменить некоторые опции в конце файла. По умолчанию они выглядят так:

# Example for postfix users: «-c –m /var/spool/postfix/var/run/saslauthd»

OPTIONS= «-c -m /var/run/saslauthd»

Изменим их следующим образом :

# Example for postfix users: «-c -m /var/spool/postfix/var/run/saslauthd»

OPTIONS= «-c -m /var/spool/postfix/var/run/saslauthd -r»

Мы только что указали каталог, который не существует в природе. Непорядок. Устраним это:

sudo mkdir -p /var/spool/postfix/var/run/saslauthd

Мы используем MySQL для хранения наших идентификационных данных. Точнее не наших, а пользователей сервера. Значит процесс авторизации должен знать, где брать данные.
Создадим два файла, чтобы процесс мог получить доступ к базе данных и добыть необходимую ему информацию:

sudo nano /etc/pam.d/smtp

Добавим в этот файл следующий текст:

auth required pam_mysql.so user=mailadmin passwd =MyPasswordHere host=127.0.0.1 db=mail table= users usercolumn=email passwdcolumn=password crypt=1

account sufficient pam_mysql.so user=mailadmin passwd =MyPasswordHere host=127.0.0.1 db=mail table= users usercolumn=email passwdcolumn=password crypt=1

Это позволит процессу авторизации иметь доступ к БД для проверки пароля и e-mail-а.

sudo nano /etc/postfix/sasl/smtpd.conf

Его содержимое следующее:

pwcheck_method: saslauthd

mech_list: plain login

allow_plaintext: true

auxprop_plugin: mysql

sql_hostnames: 127.0.0.1

sql_user: mailadmin

Читайте также:  Софтверный рейд windows 10

sql_passwd: MyPasswordHere

sql_database: mail

sql_select: select password from users where email = ‘%u’

Для того, чтобы Postfix мог получить доступ к процессу Saslauthd, добавим пользователя Postfix в группу Saslauthd

sudo adduser postfix sasl

sudo /etc/init.d/postfix restart

sudo /etc/init.d/saslauthd restart

Создадим сертификат безопасности. По умолчанию он будет создан в каталоге /etc/ssl/certs.

sudo make -ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/certs/mailcert.pem

В процессе создания, вам зададут несколько вопросов. Ответить можно, например так:

Country Name — UA

State or Province —

Locality name — Kiev

Organisation Name — MyGreat Company

Organisational Unit Name — Mail

Hostname — mail.domen1.com

Email address — admin@domen1.com

Важно, чтобы Hostname совпадал с именем mail server-а — hostname. В нашем случае, это mail.domen1.com.
Мы создали самоподписанный сертификат здесь:

/etc/ssl/certs/mailcert.pem

Теперь требуется отредактировать главный файл настроек Postfix:

sudo nano /etc/postfix/main.cf

Найдите секцию TLS parameters. Настройки по умолчанию в ней выглядят так:

smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

smtpd_use_tls= yes

smtpd_tls_session_cache_database = btree:$/smtpd_scache

smtp_tls_session_cache_database = btree:$/smtp_scache

Стираем их полностью. И вставляем вместо них следующие:

smtpd_sasl_auth_enable = yes

broken_sasl_auth_clients = yes

smtpd_sasl_authenticated_header = yes

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination

smtpd_use_tls = yes

smtpd_tls_cert_file = /etc/ssl/certs/mailcert.pem

smtpd_tls_key_file = $smtpd_tls_cert_file

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

Установим Courier который позволит нам получить POP3 и IMAP доступ к нашей почте.

sudo apt-get install courier-authdaemon courier-authlib-mysql courier-pop courier-pop-ssl courier-imap courier-imap-ssl

Во время установки вам будет задан вопрос, нужно ли создать директории. Правильный ответ — НЕТ

Для начала отредактируем файл:

sudo nano /etc/courier/authdaemonrc
authmodulelist= «authpam»
authmodulelist= «authmysql»

Далее редактируем файл с деталями БД /etc/courier/authmysqlrc:

MYSQL_SERVER localhost

MYSQL_USERNAME mailadmin

MYSQL_PASSWORD MyPasswordHere

MYSQL_PORT 0

MYSQL_DATABASE mail

MYSQL_USER_TABLE users

MYSQL_CRYPT_PWFIELD password

MYSQL_UID_FIELD 5000

MYSQL_GID_FIELD 5000

MYSQL_LOGIN_FIELD email

MYSQL_HOME_FIELD «/home/vmail»

MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,’@’,-1),’/’,SUBSTRING_INDEX(email,’@’,1),’/’)

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

sudo /etc/init.d/courier-authdaemon restart

sudo /etc/init.d/courier-imap restart

sudo /etc/init.d/courier-imap-ssl restart

sudo /etc/init.d/courier-pop restart

sudo /etc/init.d/courier-pop-ssl restart

Нужно заполнить таблички в MySQL, чтобы все то, что мы настроили ранее заработало.

Логинимся в MySQL:

mysql -u root -p

Выбираем базу данных:

USE mail;

Заполняем таблицу доменов:

INSERT INTO `domains` (`domain`) VALUES ( ‘domen1.com’ );

Чтобы ввести любой другой домен, выполните аналогичную команду:

INSERT INTO `domains` (`domain`) VALUES ( ‘domen2.ru’ );

Заполняем таблицу пользователей:

INSERT INTO `users` (`email`, ` password `) VALUES ( ‘admin@domen1.com’ , ENCRYPT( ‘secretpassword’ ));

Остальные пользователи вводятся аналогично:

INSERT INTO `users` (`email`, ` password `) VALUES ( ‘kot@domen2.ru’ , ENCRYPT( ‘secretpassword’ ));

Когда все таблицы заполнены — выходим из ведения БД:

sudo postfix reload

Для проверки работоспособности нужно отправить письмо на наш адрес

mail admin@domen1.com

Через какое-то время проверьте папку /home/vmail:

ls /home/vmail

Увидите новый каталог:

/home/vmail/domen1.com

А для каждого пользователя домена domen1.com в папке /home/vmail/domen1.com будет создан собственный каталог с письмами.

Осталось обеспечить возможность проверки почты с помощью WEB клиента.
Наиболее известным бесплатным и свободно распространяемым продуктом для этого является Squirrelmail.

sudo apt-get install squirrelmail squirrelmail-locales php-pear php5-cli

Скорее всего сразу после инсталляции ваш веб-клиент будет доступен по адресу: www.domen1.com/squirrelmail (www.domen1.com — ваш домен)
Если это не так, то нужно проделать следующее:

sudo cp /etc/squirrelmail/apache.conf /etc/apache2/sites-available/squirrelmail

sudo a2ensite squirrelmail

Тем самым мы копируем файл конфигурации по умолчанию в папку доступных сайтов Apache, после чего активируем его.

Теперь он точно будет доступен по адресу www.domen1.com/squirrelmail. Но это не совсем удобно.
Поэтому проделаем следующее:

sudo nano /etc/apache2/sites-available/squirrelmail

Закомментируем следующие строки в файле настроек:

# alias /squirrelmail /usr/share/squirrelmail

Уберем символы комментария в начале строк со следующего блока:

# users will prefer a simple URL like http://webmail.example.com

DocumentRoot /usr/share/squirrelmail

ServerName webmail.domen1.com

Если для вашего сервера apache активирован SSL, то можно убрать комментарии с секции mod_rewrite для того, чтобы обеспечить наилучшую безопасность системы.
Сохраните файл. Потом проверьте настройки apache:

sudo apache2ctl -t

Если все нормально — перегрузите apache:

sudo /etc/init.d/apache2 reload

Теперь мы можете заходить как domain1.com/squirrelmail/ или webmail.domain1.com если предпочитаете виртуальный хост.

Настроим squirrelmail, чтобы вы могли не только увидеть его стартовую страничку, но и проверить свою почту.

sudo squirrelmail-configure

Откроется интерфейс конфигурации веб-клиента.

Нажмите 2 (+Enter) чтобы войти в секцию настроек сервера. Нажмите A, чтобы редактировать настройки IMAP.

Нажмите 8 чтобы изменить программу авторизации. введите courier.

courier

Теперь нажмем 7, чтобы изменить настройки безопасности secure IMAP. Введите Y для активации.
Введите 5 для редактирования порта IMAP. Введите значение 993.
Нажмите S для сохранения настроек. И «Enter».
Нажмите Q, чтобы выйти из программы настроек.

Источник

Оцените статью