Содержание
Многие пользователи Ubuntu используют систему не только для домашних нужд. Такой подход вполне оправдан, потому что на Linux-системах гораздо удобнее программировать, создавать серверы и веб-сайты.Одно из преимуществ — создание почтового сервера. Для начала эта задача покажется ужасно сложной, но если вы понимаете, как установить и настроить почтовый сервер для Ubuntu, задача не покажется такой сложной.
Как настроить почтовый сервер на базе Ubuntu.
Немного теории
Перед конкретными инструкциями и зарыванием кода не обойтись без обмена теоретическим материалом. Важно понимать, что такое почтовый сервер и как он работает.
Настроенный почтовый сервер, проще говоря, это почтальон, который получает «письмо» от одного почтового клиента и доставляет его другому. В этом, в принципе, и вся суть работы этого ПО. Почтовый сервер нужен не только для отправки писем. На веб-сайтах он отвечает за регистрацию пользователей, перенос заполненных форм и другие важные действия, без которых сайт стал бы своего рода книгой, на которую можно только смотреть, перелистывая страницы, но что-то сделать сложно.
Почтовые серверы в Linux сильно отличаются от серверов в Windows и других системах. В Windows это готовая закрытая программа, которой вам просто нужно начать пользоваться. С другой стороны, дистрибутивы Linux предполагают самоконфигурирование всех компонентов. Также сервер в конечном итоге будет состоять не из одной программы, а из нескольких. Мы будем использовать Postfix вместе с Dovecot.
Почему Postfix?
В Ubuntu есть несколько почтовых клиентов, но мы выбрали этот. Настроить Posfix в Ubuntu намного проще, чем настроить SendMail, что важно для начинающего пользователя. В сочетании с Dovecot Postfix может делать все, что обычно требуется от почтовых серверов.
Postfix — это сам агент пересылки почты. Он будет играть главную роль на протяжении всего спектакля. Это программа с открытым исходным кодом, которую по умолчанию используют многие серверы и веб-сайты. Dovecot — это агент по доставке почты.
Установка Postfix
Первый шаг — использовать команду для обновления локальной базы данных пакетов:
sudo apt-get update
Сам агент Postfix можно свободно установить из репозитория, и это будет следующим шагом:
sudo apt-get install postfix
При запуске интерфейса этого приложения необходимо выбрать пункт «Интернет-сайт», после чего будет создан файл конфигурации с именем main.cf.
Затем в поле «System Mail Name» введите локальное имя будущего сервера, например myServer.org или как угодно другое. С помощью команды nslookup вы всегда сможете узнать домен сервера в будущем — посмотрите и запишите его, это пригодится для настройки.
Настройка Postfix
Теперь вам нужно настроить почтовый агент. Для этого вам сначала нужно создать файл с именем virtual в папке / etc / postfix // Для этого вы можете использовать команду touch:
виртуальное прикосновение
Теперь вам нужно создать личную папку в каталоге / etc / postfix /. В нем будут храниться настройки вашей почты:
sudo mkdir частный
Далее вам нужно создать еще несколько файлов в каталоге / etc / postfix / private/:
коснитесь канонического sender_relay sasl_passwd
Теперь нам нужно изменить некоторые настройки в конфигурационном файле main.cf. Откройте его в блокноте в привилегированном режиме:
судо нано /etc/postfix/main.cf
Файл содержит значения параметров, и его значения перечислены со знаком «=». Здесь вам нужно изменить имя локального сервера в параметре myhostname — в myserver.org, как в нашем примере, или на то, которое вы указали при установке Postfix на предыдущем шаге. Нравится:
myhostname = myoserver.org
Проверьте свой IP-адрес с помощью такой команды:
ifconfig | grep «inet addr» -m 1
Этот IP-адрес необходимо указать в параметрах mydestination. Измените параметр alias_maps на virtual_alias_maps, чтобы письма можно было пересылать на другие адреса.
Теперь вам нужно изменить расположение хеша:
virtual_alias_maps = хеш: / и т.д. / постфикс / виртуальный
Установите следующие значения для параметра mynetworks:
miereti = 127.0.0.0/8 [:: ffff: 127.0.0.0] / 104 [:: 1] / 128
Если вы хотите, чтобы сервер мог работать с почтой Яндекса, добавьте в конец файла следующие параметры:
smtp_sasl_auth_enable = да
smtp_sasl_password_maps = хеш: / etc / postfix / private / sasl_passwd
smtp_sasl_security_options = noanonym
smtp_sasl_type = cyrus
smtp_sasl_mechanism_filter = войти
smtp_sender_dependent_authentication = да
sender_dependent_relayhost_maps = хэш: / etc / postfix / private / sender_relay
sender_canonical_maps = хэш: / etc / postfix / private / canonical
В файле / etc / postfix / private / canonical добавьте свою почту Яндекс:
@ yandex.ru username@yandex.ru
Добавьте в файл / etc / postfix / private / sender_relay:
@ yandex.ru smtp.yandex.ru
Добавьте пароль почтового ящика Яндекса в файл / etc / postfix / private / sasl_passwd — вместо ***:
[smtp.yandex.ru] user@yandex.ru:***
Если вы используете Ubuntu Server 16, вам необходимо открыть порты для работы почтовых служб. Для этого воспользуйтесь командой:
iptables -A ВВОД -p tcp -dport 25 -j ПРИНЯТЬ
После внесения любых изменений в файлы необходимо перезапустить службу, чтобы новые настройки вступили в силу.
Проверка работы Postfix
полезно установить утилиту mutt, чтобы упростить работу с почтой. Это можно сделать с помощью команды:
sudo apt-get install mutt
Теперь вы можете попробовать отправить письмо на почтовый ящик:
эхо «Сообщение» | mutt -s «msg» mail@example.com
Надеюсь, письмо будет получено. Но учтите, что в Google такие письма обычно попадают в спам.
Установка и настройка Dovecot
Для начала нужно установить утилиту:
sudo apt-get установить dovecot-imapd dovecot-pop3d
Теперь откройте файл /etc/dovecot/dovecot.conf и добавьте список протоколов:
протоколы = pop3 pop3s imap imap
Затем откройте файл /etc/dovecot/conf.d/10-mail.conf и посмотрите, есть ли такая строка:
mail_location = mbox: ~ / mail: INBOX = / var / mail /% u
Если эта строка имеет другое содержимое, вам необходимо изменить его на указанное. Если его вообще нет, его нужно добавить.
Перезапустите службу, чтобы изменения вступили в силу:
sudo /etc/init.d/dovecot перезапуск
Откройте файл / etc / hosts и добавьте туда свой домен, который вы указали в начале. В нашем примере это был домен myserver.org. IP-адрес также был определен на этапе настройки Postfix.
myserver.org IP-адрес
Теперь остается только открыть двери, чтобы почтовые службы могли беспрепятственно принимать и отправлять письма:
iptables -A ВВОД -p tcp -dport 220 -j ПРИНЯТЬ
iptables -A ВВОД -p tcp -dport 993 -j ПРИНЯТЬ
iptables -A ВВОД -p tcp -dport 110 -j ПРИНЯТЬ
iptables -A ВВОД -p tcp -dport 995 -j ПРИНЯТЬ
Чтобы проверить работоспособность всей системы, нужно отправить письмо на указанный в настройках почтовый ящик. В этом случае вам нужно использовать домен, созданный в адресе, а пользователя нужно создать заранее, поэтому письмо должно быть получено — вы можете проверить свою почту с помощью уже установленной утилиты mutt.