Linux ubuntu почтовый сервер

Настройка Postfix и Dovecot на Ubuntu

Многие пользователи Убунту используют систему не только для домашних нужд. Такой подход вполне оправдан, ведь на Linux-системах гораздо удобнее заниматься программированием, созданием серверов и веб-сайтов. Одно из удобств — создание сервера электронной почты. Для новичков эта задача покажется ужасно трудной, однако если вы разберётесь, как установить и настроить почтовый сервер для Ubuntu, задача уже не покажется вам такой уж тяжёлой.

Как выполняется настройка почтового сервера на базе Ubuntu.

Немного теории

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

Настроенный почтовый сервер, если говорить очень просто — это почтальон, который получает «письмо» от одного почтового клиента и отдаёт другому. В этом, в принципе, вся суть работы этого программного обеспечения. Почтовый сервер нужен не только для передачи электронной почты. На сайтах он отвечает за регистрацию пользователей, передачу заполняемых форм и другие важные действия, без которых сайт стал бы подобием книги, на которую можно только смотреть, перелистывая страницы, а вот что-то сделать трудновато.

Почтовые серверы на Linux существенно отличаются от оных на Windows и других системах. На Винде это уже готовая закрытая программа, которой остаётся только начать пользоваться. Дистрибутивы Линукса же предполагают самостоятельную настройку всех компонентов. Причём сервер будет в итоге состоять не из одной программы, а из нескольких. Мы будем использовать Postfix в сочетании с Dovecot.

Почему Postfix?

На Убунту существует несколько почтовых клиентов, но всё же мы выбрали именно этот. Настройка Posfix на Ubuntu гораздо легче, чем того же SendMail, а это важно для начинающего пользователя. В сочетании с Dovecot Postfix способен выполнять всё то, что обычно требуют от почтовых серверов.

Postfix — это непосредственно сам агент передачи почты. Ему и предстоит сыграть главную роль во всём представлении. Это программа с открытым исходным кодом, которую используют по умолчанию многие серверы и веб-сайты. Dovecot — это агент получения доставки почты.

Установка Postfix

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

Сам агент Postfix можно свободно установить из репозитория, и это будет следующий шаг:

Когда запустится интерфейс этого приложения, нужно выбрать пункт «Internet Site», после чего произойдёт создание файла конфигурации с именем main.cf.

Далее в поле «System mail name» впишите локальное имя будущего сервера, например, myserver.org или любое другое по своему желанию. С помощью команды nslookup вы всегда сможете узнать домен сервера в будущем – посмотрите и запишите, это пригодится для настройки.

Настройка Postfix

Теперь нужно произвести настройки почтового агента. Для этого нужно первым делом создать файл с именем virtual в папке /etc/postfix// Для этого можно воспользоваться командой touch:

Теперь нужно создать папку private в директории /etc/postfix/. В ней будут храниться настройки почты:

Далее нужно создать ещё несколько файлов в директории /etc/postfix/private/:

touch canonical sender_relay sasl_passwd

Теперь нужно поменять некоторые настройки в файле конфигурации main.cf. Откройте его в блокноте в привилегированном режиме:

В файле идут значения параметров, и через знак «=» перечисляются его значения. Здесь нужно у параметра myhostname поменять имя локального сервера – на myserver.org, как в нашем примере, или на то, которое вы указали при установке Postfix на предыдущем этапе. Вот так:

Посмотрите использующийся IP-адрес с помощью такой команды:

Этот IP-адрес нужно вписать в параметры mydestination. Параметр alias_maps замените на virtual_alias_maps, тогда письма смогут пересылаться на другие адреса.

Теперь нужно поменять расположение хэша:

Для параметра mynetworks установите такие значения:

Если вы хотите, чтобы сервер мог работать с почтой Яндекса, в конце файла добавьте следующие параметры:

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/private/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_type = cyrus
smtp_sasl_mechanism_filter = login
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/private/sender_relay
sender_canonical_maps = hash:/etc/postfix/private/canonical

В файле /etc/postfix/private/canonical добавьте свою почту Яндекса:

В файл /etc/postfix/private/sender_relay добавьте:

В файл /etc/postfix/private/sasl_passwd добавьте пароль от почтового ящика Яндекса — вместо ***:

Если вы используете Ubuntu Server 16, нужно открыть порты для работы почтовых служб. Для этого используйте команду:

iptables -A INPUT -p tcp —dport 25 -j ACCEPT

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

Проверка работы Postfix

Полезно установить утилиту mutt, чтобы работать с почтой было удобнее. Это можно сделать с помощью команды:

Теперь можно попробовать отправить письмо на какой-нибудь почтовый ящик:

echo «Message» | mutt -s «msg» mail@example.com

Если всё хорошо, то письмо будет получено. Но учтите, что в Google такие письма обычно попадают в спам.

Установка и настройка Dovecot

Сначала нужно установить утилиту:

sudo apt-get install dovecot-imapd dovecot-pop3d

Теперь откройте файл /etc/dovecot/dovecot.conf и добавьте в него перечень протоколов:

protocols = pop3 pop3s imap imaps

Далее откройте файл /etc/dovecot/conf.d/10-mail.conf и посмотрите, есть ли там такая строка:

Читайте также:  Windows firewall control portable rus

Если эта строка имеет другое содержимое, нужно его изменить на указанное. Если её нет вовсе, то нужно её добавить.

Перезапустите сервис, чтобы изменения применились:

Откройте файл /etc/hosts и добавьте там свой домен, который указывали в самом начале. В нашем примере это был домен myserver.org. IP-адрес также определяли на этапе настройки Postfix.

Теперь осталось лишь открыть порты, чтобы почтовые службы беспрепятственно могли получать и отправлять письма:

iptables -A INPUT -p tcp —dport 220 -j ACCEPT
iptables -A INPUT -p tcp —dport 993 -j ACCEPT
iptables -A INPUT -p tcp —dport 110 -j ACCEPT
iptables -A INPUT -p tcp —dport 995 -j ACCEPT

Чтобы проверить работоспособность всей этой системы, нужно отправить письмо на указанный в настройках почтовый ящик. При этом в адресе нужно использовать созданный домен, а пользователь должен быть создан заранее, тогда письмо должно быть получено – проверять почту можно с помощью утилиты mutt, которую вы уже установили.

Источник

Как установить почтовый сервер Mailu на Ubuntu 20.04

Mailu — простой, но мощный почтовый сервер, работающий на контейнерах докеров. Это бесплатное программное обеспечение, открытое для предложений и дополнений. Он предназначен для обеспечения простой настройки почтового сервера. Образы Mailu должны запускаться на любом облачном сервере, на котором запущен Docker (> = 1.11), и вы можете выбирать между Docker compose, Kubernetes и Rancher для запуска своего почтового сервера Mailu. Это руководство было написано, чтобы помочь пользователям установить и настроить почтовый сервер Mailu на сервере Ubuntu 20.04.

Особенности почтового сервера Mailu

Ожидается, что, как и любой другой почтовый сервер, mailu будет отвечать требованиям отправки и получения электронных писем. Ниже приведены некоторые из наиболее важных функций почтового сервера Mailu:

  • Стандартный почтовый сервер, IMAP и IMAP +, SMTP и отправка
  • Расширенные функции электронной почты, псевдонимы, псевдонимы домена, настраиваемая маршрутизация
  • Доступ в Интернет, несколько сообщений электронной почты и интерфейс администрирования
  • Функции пользователя, псевдонимы, автоответчик, автопересылка, полученная учетная запись
  • Функции администратора, глобальные администраторы, объявления, делегирование для каждого домена, квоты
  • Безопасность, принудительный TLS, Letsencrypt !, исходящий DKIM, антивирусный сканер
  • Антиспам, автообучение, серые списки, DMARC и SPF
  • Свобода, все компоненты FOSS, без трекера

Настройте почтовый сервер Mailu на Ubuntu 20.04

Обновите системные пакеты перед установкой

Нам необходимо убедиться, что в нашей системе есть действующий IP-адрес и полное доменное имя. Также должна быть действующая запись mx для нашего домена. Чтобы установить IP-адрес сервера и имя хоста, выполните следующие команды:

Также добавьте полное доменное имя и IP-адрес сервера в файл /etc/hosts .

После установки перезагрузите вашу систему

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

Установите Docker и Docker compose в Ubuntu

Чтобы установить docker и docker compose в Ubuntu 20.04, ознакомьтесь с нашими руководствами ниже.

Создать каталог Mailu

После установки Docker и Docker Compose перейдите к созданию каталога, в котором mailu будет хранить свои данные.

Mailu использует файл docker-compose.yml, а также полагается на mailu.env для различных настроек. Вам необходимо сгенерировать конфигурацию Mailu для вашей среды с помощью онлайн-утилиты настройки mailu. Генератор предоставит вам как файл docker-compose.yml, так и файл mailu.env. После создания конфигурации вы получите ссылки для загрузки файлов. Убедитесь, что вы загружаете файлы в каталог mailu. Вы должны получить такую ​​страницу при создании файлов.

Для моего случая установки я сгенерировал и получил файл со следующим содержимым:

И файл docker-compose выглядит следующим образом:

Когда закончите с настройками, запустите mailu с docker compose, как показано ниже, в каталоге mailu

Установите пользователя с правами администратора, выполнив следующую команду:

Настройте Mailu Mail Server в Ubuntu 20.04

После этого войдите в веб-портал Mailu, используя свое имя хоста: https://mailu.example.com . Вы должны получить страницу для входа с паролем администратора. После входа в систему вы должны увидеть страницу, как показано ниже. Не забудьте обновить свой пароль на более надежный, нажав « обновить пароль ».

Создание доменов Mailu

Чтобы добавить домен, нажмите домен → новый домен.

Создать пользователей Mailu

Чтобы создать пользователей, щелкните Почтовые домены . В разделе « Управление» щелкните значок почтового ящика, чтобы перейти к списку пользователей. Нажмите на Добавить пользователя.

Mailu Webmail

Для своей установки я решил использовать roundcube для веб-почты. Получите доступ к веб-почте, чтобы начать отправлять электронные письма. Нажмите на веб- почту, которая затем направит вас на страницу входа в roundcube .

Вот и все, что касается настройки почтового сервера Mailu на Ubuntu 20.04. Я надеюсь, что это будет вам полезно.

Источник

Установка и настройка Postfix в Ubuntu 20.04

Published on July 16, 2020

Предыдущая версия данного обучающего руководства была написана Джастином Эллингвудом

Введение

Postfix — популярный почтовый агент (MTA) с открытым исходным кодом, который можно использовать для маршрутизации и доставки почты в системе Linux. Согласно оценкам, примерно 25% публичных почтовых серверов в Интернете используют Postfix.

В этом руководстве мы расскажем, как установить и настроить Postfix на сервере Ubuntu 20.04. Затем мы протестируем способность Postfix правильно выполнять маршрутизацию, выполнив установку s-nail , почтового пользовательского агента (MUA), также называемого клиентом электронной почты.

Обратите внимание, что цель данного обучающего модуля — помочь вам быстро развернуть Postfix с базовыми функциями работы с электронной почтой. К окончанию прохождения этого руководства у вас не будет полнофункционального сервера электронной почты, но будут некоторые базовые компоненты для создания такого сервера.

Читайте также:  Драйвера звука для windows 10 microsoft

Предварительные требования

Для прохождения этого обучающего модуля вам потребуется следующее:

  • Сервер под управлением Ubuntu 20.04, который будет работать как ваш почтовый сервер Postfix. Этот сервер должен иметь пользователя без прав root с привилегиями sudo , а также брандмауэр, настроенный с помощью UFW. Для выполнения этого требования следуйте указаниям нашего руководства по начальной настройке сервера Ubuntu 20.04.
  • Полное доменное имя, указывающее на ваш сервер Ubuntu 20.04. Помощь по настройке доменного имени в DigitalOcean можно найти в нашей документации по доменам и сетям DNS. Помните, что если вы планируете получать доступ к почте из внешнего источника, вам также потребуется запись MX, указывающая на ваш почтовый сервер.

Для этого обучающего модуля предполагается, что вы настраиваете хост с доменным именем mail.example.com . При необходимости заменяйте example.com или mail.example.com собственным полным доменным именем.

Шаг 1 — Установка Postfix

Postfix включен в репозиторий Ubuntu по умолчанию, так что вы можете установить его с помощью APT.

Для начала обновите локальный кэш пакетов apt :

Затем установите пакет postfix с помощью следующей команды. Обратите внимание, что мы передаем переменную среды DEBIAN_PRIORITY=low в эту команду установки. В связи с этим, процедура установки предложит вам настроить некоторые дополнительные опции:

Процедура установки откроет серию интерактивных диалогов. Для целей данного обучающего модуля введите в диалогах следующие данные:

  • General type of mail configuration?: Для данного параметра выберем пункт Internet Site, соответствующий потребностям нашей инфраструктуры.
  • System mail name: это базовый домен, используемый для построения корректного адреса электронной почты, когда имеется только часть адреса с именем учетной записи. Допустим, имя хоста вашего сервера mail. example.com . Возможно вы захотите задать для системной почты имя example.com . В этом случае для имени пользователя user1 Postfix будет использовать адрес user1@ example.com .
  • Root and postmaster mail recipient: это учетная запись Linux, на которую будет перенаправляться почта, адресованная root@ и postmaster@ . Используйте для этой цели свою основную учетную запись. В данном примере это имя пользователя sammy.
  • Other destinations to accept mail for: определение получателей почты, которых будет принимать этот экземпляр Postfix. Если вам потребуется добавить любые другие домены, для которых этот сервер будет получать почту, добавьте их здесь. В противном случае значений по умолчанию будет достаточно.
  • Force synchronous updates on mail queue?: поскольку вы вероятно используете журнальную файловую систему, выберите No.
  • Local networks: это перечень локальных сетей, для которых ваш почтовый сервер настроен как реле пересылки сообщений. Значение по умолчанию подойдет для большинства случаев. Если вы пожелаете изменить его, постарайтесь максимально ограничить диапазон сетей.
  • Mailbox size limit: используется для ограничения размера сообщений. Значение « 0 » отключает любые ограничения размера.
  • Local address extension character: символ, используемый для отделения обычной части адреса от расширения (используется для создания динамических псевдонимов). Для этого обучающего модуля подойдет значение по умолчанию « + ».
  • Internet protocols to use: укажите, нужно ли ограничивать версии протокола IP, поддерживаемые Postfix. Для целей данного обучающего модуля выберите вариант «all».

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

  • General type of mail configuration?: Internet Site
  • System mail name: example.com (не mail.example.com )
  • Root and postmaster mail recipient: имя пользователя основной учетной записи Linux (в наших примерах sammy)
  • Other destinations to accept mail for: $myhostname, example.com , mail.example.com , localhost.example.com , localhost
  • Force synchronous updates on mail queue?: No
  • Local networks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
  • Mailbox size limit: 0
  • Local address extension character: +
  • Internet protocols to use: all

Примечание. Если впоследствии вам потребуется изменить эти настройки, введите команду:

Для параметров будут указаны заданные ранее значения.

После завершения процедуры установки можно внести некоторые изменения в конфигурацию Postfix.

Шаг 2 — Изменение конфигурации Postfix

Теперь вы можете изменить дополнительные настройки, которые не предлагались в диалогах процедуры установки. Многие параметры конфигурации Postfix заданы в файле /etc/postfix/main.cf . Вместо того, чтобы редактировать этот файл напрямую, вы можете использовать команду Postfix postconf для запроса или установки параметров конфигурации.

Для начала задайте расположение почтового ящика пользователя Ubuntu без прав root. В этом обучающем модуле мы используем формат Maildir, в котором соообщения выделяются в отдельные файлы, перемещаемые между каталогами в зависимости от действий пользователя. Также существует возможность хранить все сообщения в одном файле в формате mbox, но мы не рассматриваем ее в этом обучающем модуле.

Задайте для переменной home_mailbox значение Maildir/ . Впоследствии вы создадите структуру каталогов с этим именем в своем домашнем каталоге пользователя. Настройте home_mailbox с помощью следующей команды:

Задайте расположение таблицы virtual_alias_maps , где произвольные учетные записи электронной почты сопоставляются с системными учетными записями Linux. Запустите следующую команду, сопоставляющую расположение таблицы с файлом базы данных хэша под именем /etc/postfix/virtual :

Мы определили расположение файла виртуальной карты в файле main.cf и теперь можем создать сам файл и начать сопоставление учетных записей электронной почты с учетными записями пользователей в системе Linux. Создайте файл в nano или другом предпочитаемом текстовом редакторе:

Укажите все адреса, для которых вы хотите получать электронную почту, а затем укажите через пробел имя пользователя Linux, которому должна доставляться эта почта.

Читайте также:  Как обновлять версию linux

Например, если вы хотите принимать электронную почту на адреса contact@ example.com и admin@ example.com и доставлять ее пользователю Linux с именем sammy, файл можно настроить следующим образом:

После сопоставления всех почтовых адресов с соответствующими учетными записями сервера вы можете сохранить и закрыть файл. Если вы использовали nano , нажмите CTRL + X , Y , а затем ENTER .

Перезапустите процесс Postfix, чтобы все изменения были применены:

Если вы следовали указаниям руководства по начальной настройке сервера, вы настроили брандмауэр с помощью UFW. Этот брандмауэр по умолчанию блокирует внешние подключения к службам вашего сервера, если эти подключения прямо не разрешены, и поэтому вам нужно будет добавить исключение для Postfix в правило брандмауэра.

Вы можете разрешить подключение к службе с помощью следующей команды:

Теперь Postfix настроен и готов принимать внешние подключения. Однако мы еще не готовы тестировать его с помощью почтового клиента. Прежде чем устанавливать почтовый клиент и использовать его для взаимодействия с доставляемой на сервер почтой, необходимо внести некоторые изменения в настройки сервера Ubuntu.

Шаг 3 — Установка почтового клиента и инициализация структуры Maildir

Этот шаг поможет вам установить пакет s-nail для взаимодействия с доставляемой почтой. Это функциональный вариант почтового клиента BSD xmail , правильно работающий с форматом Maildir.

Перед установкой клиента желательно проверить настройку переменной среды MAIL . Клиент s-nail использует эту переменную для определения мест поиска почты для вашего пользователя.

Если требуется гарантированно задать переменную MAIL вне зависимости от способа доступа к учетной записи (через ssh , su , su — , sudo и т. п.), необходимо задать переменную в файле /etc/bash.bashrc и добавить ее в файл /etc/profile.d , чтобы она использовалась всеми пользователями по умолчанию.

Чтобы добавить переменную в эти файлы, введите:

Чтобы прочитать переменную для текущего сеанса, в качестве источника можно использовать файл /etc/profile.d/mail.sh :

Выполнив этот шаг, установите клиент электронной почты s-nail с помощью APT:

Перед запуском клиента необходимо изменить несколько настроек. Откройте файл /etc/s-nail.rc в своем редакторе:

Добавьте в конец файла следующие опции:

Вот что делают эти строки:

  • set emptystart : позволяет клиенту открываться даже при пустом почтовом ящике
  • set folder=Maildir : задает для каталога Maildir внутреннюю переменную folder
  • set record=+sent создает файл sent в формате mbox для хранения отправленной почты в каталоге, заданном в переменной folder , в данном случае Maildir

Сохраните файл и закройте его после завершения. Теперь вы готовы инициализировать структуру Maildir в вашей системе.

Чтобы быстро создать структуру Maildir в домашнем каталоге, отправьте себе электронное письмо с помощью команды s-nail . Поскольку файл sent будет доступен только после создания Maildir, для этого первого письма нужно отключить запись в этот файл. Используйте для этого опцию -Snorecord .

Для отправки письма добавьте строку в команду s-nail . Измените команду, чтобы сделать получателем вашего пользователя Linux:

Примечание. Вы можете получить следующий ответ:

Это нормально, и такой ответ может появиться только при отправке первого сообщения.

Для проверки создания каталога выполните поиск каталога

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

Структура каталогов создана, и теперь мы готовы протестировать клиент s-nail . Для этого мы просмотрим отправленное вами сообщение init и отправим сообщение на сторонний адрес электронной почты.

Шаг 5 — Тестирование клиента

Чтобы открыть клиент, запустите команду s-nail :

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

Нажмите ENTER , чтобы вывести сообщение:

Вы можете вернуться к списку сообщений, введя h и нажав ENTER :

Теперь сообщение имеет состояние R , означающее, что оно прочитано.

Поскольку это сообщение не очень полезно, мы можем удалить его, введя d и нажав ENTER :

Чтобы вернуться к терминалу, введите q и нажмите ENTER :

В качестве последнего испытания проверим, может ли s-nail правильно отправлять электронные сообщения. Для этого передадим содержимое текстового файла text в процесс s-nail , как мы делали это с сообщением init на предыдущем шаге.

Для начала напишем тестовое сообщение в текстовом редакторе:

Введите текст, которы вы хотите отправить:

Сохраните и закройте файл после написания сообщения.

Затем используйте команду cat для передачи сообщения в процесс s-nail . Для этого можно использовать следующий пример, где используются следующие опции:

  • -s : задает строку темы электронного сообщения
  • -r : изменение поля «From» письма. По умолчанию в этом поле указан текущий пользователь Linux. Опция -r позволяет заменить его корректным адресом, в том числе определенным в файле /etc/postfix/virtual . Например, в следующей команде используется адрес contact@example.com

Также следует заменить user @ email.com на корректный адрес электронной почты, к которому у вас имеется доступ:

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

Примечание. Если сообщение отсутствует в почтовом ящике, оно может быть доставлено в папку Spam.

Вы можете просмотреть отправленные сообщения в клиенте s-nail . Запустите интерактивный клиент еще раз:

Для просмотра отправленных сообщений в клиенте электронной почты введите:

Вывод будет выглядеть следующим образом:

Вы можете управлять отправленными письмами с помощью тех же команд, которые используются для входящих писем.

Заключение

Теперь почтовая система Postfix настроена на вашем сервере Ubuntu 20.04. Управление серверами электронной почты может оказаться непростой задачей для начинающих системных администраторов, но с этой конфигурацией у вас должно быть достаточно функций MTA для работы с электронной почтой, чтобы начать эту работу.

Источник

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