Smtp сервер для linux

SMTP сервер только для отправки сообщений в Ubuntu 18.04

Postfix — это агент передачи почты (MTA), т. е. приложение для отправки и приема электронной почты. Его можно настроить так, чтобы только локальные приложения могли использовать его для отправки электронной почты. Это может быть полезно, если вам нужно регулярно рассылать по электронной почте уведомления от ваших приложений, или если у вас много исходящего трафика, и сторонний поставщик услуг электронной почты не разрешает такие объемы. Это облегченная альтернатива развертыванию полноценного сервера SMTP, позволяющая сохранить требуемые функции.

Установка Postfix

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

Вначале обновите базу данных пакетов:

Затем выполните установку Postfix, запустив следующую команду:

Перед окончанием установки вы увидите окно настройки конфигурации Postfix:

По умолчанию используетя опция Internet Site (сайт). Это наиболее подходящая опция для нашего случая, поэтому нажмите TAB , а затем нажмите ENTER . Если вы увидите только текст описания, нажмите TAB для выбора пункта OK , а затем нажмите ENTER .

Если опция не отображается автоматически, запустите следующую команду:

После этого откроется еще один диалог настройки конфигурации System mail name (имя системной почты):

Имя системной почты System mail name должно совпадать с именем, которое вы присвоили своему серверу при его создании. После завершения настройки нажмите TAB , а затем нажмите ENTER .

Мы установили Postfix и готовы приступить к настройке.

Настройка Postfix

На этом шаге мы настроим Postfix для отправки и приема электронных писем только с сервера, на котором он запущен, т. е. с localhost .

Для этого нужно настроить Postfix для прослушивания только интерфейса loopback, интерфейса виртуальной сети, который сервер использует для внутренней связи. Для внесения изменений потребуется отредактировать главный файл конфигурации Postfix с именем main.cf , хранящийся в каталоге etc/postfix .

Откройте его для редактирования в предпочитаемом текстовом редакторе:

Найдите следующие строки:/etc/postfix/main.cf

Задайте для параметра inet_interfaces значение loopback-only :/etc/postfix/main.cf

Также вам потребуется изменить директиву mydestination , используемую для указания списка доменов, доставляемых через транспорт доставки почты local_transport . По умолчанию значения выглядят примерно так: /etc/postfix/main.cf

Измените строку, чтобы она выглядела следующим образом: /etc/postfix/main.cf

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

Необязательный параметр masquerade_domains указывает, для каких доменов в адресе электронной почты будут урезаться субдомены.

После внесения изменений сохраните и закройте файл.

Примечание. В случае хостинга нескольких доменов на одном сервере другие домены также можно передать Postfix с помощью директивы mydestination .

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

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

Тестирование сервера SMTP

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

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

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

Проверьте почтовый ящик, на адрес которого вы отправили сообщение. Вы должны увидеть это сообщение в папке «Входящие». Если его там нет, проверьте папку «Нежелательная почта». Сейчас все электронные письма отправляются без шифрования, и поэтому провайдеры могут посчитать их спамом. Шифрование мы настроим немного позднее, на шаге 5.

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

С этой конфигурацией адрес в поле « От » в отправляемых тестовых письмах будет иметь вид your_user_name@your_domain , где your_user_name — имя пользователя сервера, от лица которого вы запустили команду.

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

Переадресация системной почты

На этом шаге мы настроим переадресацию электронной почты для пользователя root , чтобы сгенерированные системой сообщения, отправляемые на этот адрес, пересылались на внешний адрес электронной почты.

Читайте также:  Какие картриджи для canon f158200

Файл /etc/aliases содержит список альтернативных имен получателей электронных писем. Откройте его для редактирования:

По умолчанию он выглядит так: /etc/aliases

Единственная содержащаяся в нем директива предписывает пересылать сгенерированные системой электронные сообщения пользователю root .

Добавьте в конец файла следующую строку: /etc/aliases

Эта строка предписывает пересылать электронные письма, отправленные пользователю root , на указанный адрес электронной почты. Обязательно замените your_email_address своим личным адресом электронной почты. После внесения изменений сохраните и закройте файл.

Для вступления изменений в силу выполните следующую команду:

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

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

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

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

Включение шифрования SMTP

Теперь вы можете включить шифрование SMTP, запросив бесплатный сертификат TLS от Let’s Encrypt для вашего домена (с помощью Certbot) и настроив Postfix для использования этого сертификата при отправке сообщений.

Certbot содержится в стандартном репозитории пакетов Ubuntu, но там может находиться не самая актуальная версия. Лучше использовать следующую команду для добавления официального репозитория:

Нажмите в диалоге ENTER для подтверждения. Обновите кэш диспетчера пакетов вашего сервера.

Установите последнюю версию Certbot:

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

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

Теперь порт открыт, и мы можем запустить Certbot для получения сертификата:

Эта команда предписывает Certbot выдавать сертификаты с размером ключа RSA 4096 бит, запустить временный отдельный веб-сервер ( —standalone ) для проверки и выполнить проверку через порт 80 ( —preferred-challenges http ). Перед запуском команды обязательно замените your_domain именем вашего домена и введите свой адрес электронной почты, когда система его запросит.

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

Как указано в примечаниях, ваши сертификат и файл закрытого ключа сохранены в каталоге /etc/letsencrypt/live/your_domain .

Получив сертификат, откройте файл main.cf для редактирования:

Найдите следующий раздел: /etc/postfix/main.cf

Измените файл следующим образом, заменяя your_domain на ваше доменное имя, где это необходимо. При этом также будут изменены ваши настройки TLS для Postfix: /etc/postfix/main.cf

Закончив, сохраните и закройте файл.

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

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

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

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

Заключение

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

Источник

Настройка почтового сервера в Linux

Сейчас многие пользователи предпочитают устанавливать себе на компьютер специализированный почтовый клиент, чтобы максимально быстро и просто управлять электронными письмами. В большинстве случаев сразу же после инсталляции такой программы можно переходить к прямому взаимодействию с ней, но это не относится к определенному кругу юзеров операционной системы Linux. Здесь потребуется произвести добавление и настройку почтового сервера, который обеспечивает прием и передачу сообщений. Это сложная задача, но решаемая благодаря подробным руководствам. Мы хотим ознакомить вас с такими инструкциями, детально расписав каждый необходимый для выполнения шаг.

Настраиваем почтовый сервер в Linux

На текущий момент времени в открытом доступе находится несколько настраиваемых почтовых серверов, и каждый из них обладает своими особенностями. Мы сосредоточим свое внимание на самых популярных и востребованных решениях, уделив время и дополнительным компонентам. За пример будет взят дистрибутив Ubuntu, а для обладателей RedHat представлены отдельные команды, если отличия от указанных будут иметься. Перед началом разбора каждого этапа предлагаем ознакомиться с вводной и очень важной информацией, которая позволит разобраться в общем принципе работы рассматриваемой системы.

SMTP и компоненты почтовой службы

Некоторых пользователей интересует вопрос передачи электронных писем по интернету, связанных с необходимостью использования разных составляющих, отвечающих за определенные действия. Сортировка и пересылка подобной информации — сложный процесс, осуществляемый специальными алгоритмами. Самым важным компонентом этой цепи выступает SMTP (Simple Mail Transfer Protocol), который и является почтовым сервером. Он отвечает за соблюдение установленных правил пересылки, соответственно, выполняя ее. Без сервера остальные звенья цепи вообще не смогут работать. Серверы обмениваются информацией между собой, а значит, задействуют для этого порт. Чаще всего им выступает номер 25. Сами же разновидности серверов бывают разными, а сегодня за пример мы возьмем более продвинутый Postfix. Теперь рассмотрим общую структуру системы.

  • Почтовый клиент. Это та программа, через которую вы получаете и просматриваете свои письма. Самый банальный пример — Microsoft Outlook. Реализация графического интерфейса позволяет даже самому начинающему пользователю управлять своей учетной записью, даже не задумываясь о том, что скрыто за простыми кнопками.
  • Почтовый сервер. Выше мы уже сказали, что этот компонент выполняет опцию пересылки. Его можно назвать своеобразным почтальоном в мире интернета.
  • Агент доставки электронной почты. Последнее звено цепи, которое еще называется Mail Delivery Agent или сокращенно MDA. Именно этот инструмент отвечает за то, чтобы письмо было доставлено конкретному адресанту, а не заблудилось на просторах огромного сервера. В нашем случае подобным помощником будет выступать Postfix-maildrop.
Читайте также:  Chrome linux не открывает

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

Шаг 1: Инсталляция Postfix

Ранее мы уже уточнили, какой инструмент взяли за пример. Если вас этот выбор не устраивает, инсталлируйте любую другую утилиту и переходите к ее конфигурации по указанным в следующих шагах инструкциям, учитывая новые особенности. Иногда в стандартной сборке дистрибутива сервер Postfix уже установлен, что можно проверить командой grep postfix , однако в большинстве случаев его приходится инсталлировать самостоятельно, что мы и продемонстрируем далее.

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

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

Шаг 2: Настройка установленного сервера

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

  1. Как известно, конфигурация в Linux осуществляется путем изменения строк в специальных файлах. Для этого используется удобный текстовый редактор. Новичкам может быть сложно освоить vi, поэтому мы советуем установить сначала более простое решение. Для этого введите в консоли команду sudo apt install nano и нажмите на Enter.
  2. Подтвердите уведомление о необходимости скачивания архивов и ожидайте конца загрузки.
  3. После используйте команду sudo nano /etc/postfix/main.cf , чтобы запустить конфигурационный файл.
  4. Здесь обратим внимание лишь на главные параметры. myhostname — после знака = вам следует указать имя хоста почтовой системы в интернете, чтобы сервер мог принимать и отправлять письма.
  5. Строка mydomain отвечает за обслуживание домена, на котором располагается сервер.
  6. В параметре myorigin указывается используемое доменное имя. Мы предлагаем сохранить привычный для многих вид myorigin = $mydomain .
  7. mydestination — последний параметр, на который хотим обратить внимание. Эта строка определяет конечные доменные имена, куда будут доставляться письма. Указывайте значения в соответствии со своими потребностями.
  8. После внесения всех изменений нажмите на Ctrl + O, чтобы сохранить файл.
  9. Не меняйте его название, а просто нажмите на Enter.
  10. Завершите работу в текстовом редакторе через Ctrl + X.
  11. Теперь потребуется перезагрузить сервер, чтобы все изменения вступили в силу. Сделайте это в «Терминале», написав команду systemctl reload postfix .
  12. У вас не получится сразу же узнать, были ли допущены какие-то ошибки в конфигурации, поэтому для этого понадобится запускать средство проверки через postfix check . В новых строках отобразятся сведения о текущем состоянии сервера, и по ним можно определить корректность работы.

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

# /usr/local/etc/postfix/main.cf
# Config file for postfix mail system.
#

queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix

mail_owner = postfix
default_privs = nobody
myhostname = yourhost.yourdomain.com
mydomain = yourdomain.com
mynetworks = 192.168.1.0/24, 127.0.0.0/8

myorigin = $mydomain
inet_interfaces = $myhostname, localhost
mydestination = $myhostname, localhost.$mydomain, $mydomain
default_transport = smtp
alias_database = hash:/etc/aliases
mailbox_command = /usr/local/bin/procmail

Читайте также:  Hp color laserjet cm2320nf mfp замена картриджа

smtpd_banner = $myhostname ESMTP READY
smtpd_client_restrictions = permit_mynetworks, reject_unknown_client
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_address, reject_non_fqdn_sender, reject_invalid_hostname
smtpd_recipient_restrictions = permit_mynetworks, permit_mx_backup, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, check_relay_domains, reject_unknown_client, reject

local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10
debug_peer_level = 2
debugger_command =
PATH=/usr/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5

После останется просто сохранить все эти изменения и внести правки, соответствующие вашим требованиям.

Шаг 3: Проверка очереди сообщений

Давайте вкратце остановимся на проверке очереди сообщений почтового сервера. Иногда количество писем на отправке становится огромным из-за различных сбоев, связанных с невозможностью их разослать. В таких случаях требуется производить очистку, чтобы наладить ситуацию. Для проверки текущей очереди используйте команду mailq . В новых строках отобразятся абсолютно все сообщения, находящиеся в ожидании на данный момент.

Если вдруг окажется, что очередь переполнена и никаким образом не продвигается, вполне вероятно, что произошел определенный сбой, мешающий наладить функционирование сервиса. Самый банальный вариант решения этой ситуации — очистка списка ожидающий сообщений. Это происходит через команду postfix flush . Если же и это не помогло, придется искать причины, анализируя текущее состояние сервера.

В качестве примера отметим одну опцию, которая выглядит следующим образом:

$ echo «This is message body» | mailx -s «This is Subject» -r «likegeeks» -a /path/to/attachment someone@example.com

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

Шаг 4: Настройка безопасности

Из представленных выше руководств вы уже знаете, что Postfix и другие серверы взаимодействуют с устройствами через сеть. Если соединение не будет защищено, вполне возможна ситуация совершения атак с целью похитить данные или нарушить стабильность работы ОС. Проще всего организовать правила безопасности с помощью системы OpenSSH, но для начала ее требуется установить и выполнить основную конфигурацию. Детальнее об этом читайте в других материалах на нашем сайте, воспользовавшись приведенными ниже ссылками.

Огромной популярностью пользуется протокол OpenSSL, поэтому во многих документациях показаны варианты настройки почтового сервера именно с помощью этого инструмента. Примеры команд выглядят так:

openssl genrsa -des3 -out mail.key
openssl req -new -key mail.key -out mail.csr
cp mail.key mail.key.original
openssl rsa -in mail.key.original -out mail_secure.key
openssl x509 -req -days 365 -in mail.csr -signkey mail_secure.key -out mail_secure.crt
cp mail_secure.crt /etc/postfix/
cp mail_secure.key /etc/postfix/

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

smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/mail_secure.crt
smtpd_tls_key_file = /etc/postfix/mail_secure.key
smtp_tls_security_level = may

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

Шаг 5: Установка и конфигурация Dovecot

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

  1. В консоли введите команду sudo apt-get -y install dovecot-imapd dovecot-pop3d и нажмите на Enter. Для обладателей RedHat команда выглядит немного иначе: dnf -y install dovecot .
  2. Подтвердите права суперпользователя, введя пароль в новой строке.
  3. Ожидайте окончания получения и распаковки архивов. Во время этой операции также будут обновлены правила профиля OpenSSH.
  4. Добавьте рассматриваемый инструмент в автозагрузку через systemctl start dovecot .
  5. Подтвердите это действие, написав пароль в появившемся окне.
  6. Вставьте команду systemctl enable dovecot , чтобы запустить Dovecot.
  7. Теперь вы можете открыть конфигурационный файл для настройки через sudo nano /etc/dovecot/dovecot.conf .
  8. Изначально в этом файле не будет практически никаких параметров, поэтому их понадобится вставлять самостоятельно. Не станем углубляться в тонкости настройки, а лишь предоставим самые базовые и необходимые строки, который вы можете скопировать, вставить и сохранить файл.

protocols = imap pop3 lmtp
listen = *, ::

userdb <
driver = pam
>

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

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

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

Для FirewallD эта структура выглядит немного иначе:

$ firewall-cmd —permanent —add-port=110/tcp —add-port=995
$ firewall-cmd —permanent —add-port=143/tcp —add-port=993
$ firewall-cmd —reload

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

Источник

Поделиться с друзьями
КомпСовет

Smtp server для linux

SMTP сервер только для отправки сообщений в Ubuntu 18.04

Postfix — это агент передачи почты (MTA), т. е. приложение для отправки и приема электронной почты. Его можно настроить так, чтобы только локальные приложения могли использовать его для отправки электронной почты. Это может быть полезно, если вам нужно регулярно рассылать по электронной почте уведомления от ваших приложений, или если у вас много исходящего трафика, и сторонний поставщик услуг электронной почты не разрешает такие объемы. Это облегченная альтернатива развертыванию полноценного сервера SMTP, позволяющая сохранить требуемые функции.

Установка Postfix

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

Вначале обновите базу данных пакетов:

Затем выполните установку Postfix, запустив следующую команду:

Перед окончанием установки вы увидите окно настройки конфигурации Postfix:

По умолчанию используетя опция Internet Site (сайт). Это наиболее подходящая опция для нашего случая, поэтому нажмите TAB , а затем нажмите ENTER . Если вы увидите только текст описания, нажмите TAB для выбора пункта OK , а затем нажмите ENTER .

Если опция не отображается автоматически, запустите следующую команду:

После этого откроется еще один диалог настройки конфигурации System mail name (имя системной почты):

Имя системной почты System mail name должно совпадать с именем, которое вы присвоили своему серверу при его создании. После завершения настройки нажмите TAB , а затем нажмите ENTER .

Мы установили Postfix и готовы приступить к настройке.

Настройка Postfix

На этом шаге мы настроим Postfix для отправки и приема электронных писем только с сервера, на котором он запущен, т. е. с localhost .

Для этого нужно настроить Postfix для прослушивания только интерфейса loopback, интерфейса виртуальной сети, который сервер использует для внутренней связи. Для внесения изменений потребуется отредактировать главный файл конфигурации Postfix с именем main.cf , хранящийся в каталоге etc/postfix .

Откройте его для редактирования в предпочитаемом текстовом редакторе:

Найдите следующие строки:/etc/postfix/main.cf

Задайте для параметра inet_interfaces значение loopback-only :/etc/postfix/main.cf

Также вам потребуется изменить директиву mydestination , используемую для указания списка доменов, доставляемых через транспорт доставки почты local_transport . По умолчанию значения выглядят примерно так: /etc/postfix/main.cf

Измените строку, чтобы она выглядела следующим образом: /etc/postfix/main.cf

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

Необязательный параметр masquerade_domains указывает, для каких доменов в адресе электронной почты будут урезаться субдомены.

После внесения изменений сохраните и закройте файл.

Примечание. В случае хостинга нескольких доменов на одном сервере другие домены также можно передать Postfix с помощью директивы mydestination .

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

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

Тестирование сервера SMTP

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

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

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

Проверьте почтовый ящик, на адрес которого вы отправили сообщение. Вы должны увидеть это сообщение в папке «Входящие». Если его там нет, проверьте папку «Нежелательная почта». Сейчас все электронные письма отправляются без шифрования, и поэтому провайдеры могут посчитать их спамом. Шифрование мы настроим немного позднее, на шаге 5.

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

С этой конфигурацией адрес в поле « От » в отправляемых тестовых письмах будет иметь вид your_user_name@your_domain , где your_user_name — имя пользователя сервера, от лица которого вы запустили команду.

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

Переадресация системной почты

На этом шаге мы настроим переадресацию электронной почты для пользователя root , чтобы сгенерированные системой сообщения, отправляемые на этот адрес, пересылались на внешний адрес электронной почты.

Читайте также:  Какие картриджи для canon f158200

Файл /etc/aliases содержит список альтернативных имен получателей электронных писем. Откройте его для редактирования:

По умолчанию он выглядит так: /etc/aliases

Единственная содержащаяся в нем директива предписывает пересылать сгенерированные системой электронные сообщения пользователю root .

Добавьте в конец файла следующую строку: /etc/aliases

Эта строка предписывает пересылать электронные письма, отправленные пользователю root , на указанный адрес электронной почты. Обязательно замените your_email_address своим личным адресом электронной почты. После внесения изменений сохраните и закройте файл.

Для вступления изменений в силу выполните следующую команду:

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

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

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

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

Включение шифрования SMTP

Теперь вы можете включить шифрование SMTP, запросив бесплатный сертификат TLS от Let’s Encrypt для вашего домена (с помощью Certbot) и настроив Postfix для использования этого сертификата при отправке сообщений.

Certbot содержится в стандартном репозитории пакетов Ubuntu, но там может находиться не самая актуальная версия. Лучше использовать следующую команду для добавления официального репозитория:

Нажмите в диалоге ENTER для подтверждения. Обновите кэш диспетчера пакетов вашего сервера.

Установите последнюю версию Certbot:

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

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

Теперь порт открыт, и мы можем запустить Certbot для получения сертификата:

Эта команда предписывает Certbot выдавать сертификаты с размером ключа RSA 4096 бит, запустить временный отдельный веб-сервер ( —standalone ) для проверки и выполнить проверку через порт 80 ( —preferred-challenges http ). Перед запуском команды обязательно замените your_domain именем вашего домена и введите свой адрес электронной почты, когда система его запросит.

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

Как указано в примечаниях, ваши сертификат и файл закрытого ключа сохранены в каталоге /etc/letsencrypt/live/your_domain .

Получив сертификат, откройте файл main.cf для редактирования:

Найдите следующий раздел: /etc/postfix/main.cf

Измените файл следующим образом, заменяя your_domain на ваше доменное имя, где это необходимо. При этом также будут изменены ваши настройки TLS для Postfix: /etc/postfix/main.cf

Закончив, сохраните и закройте файл.

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

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

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

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

Заключение

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

Источник

Настройка почтового сервера в Linux

Сейчас многие пользователи предпочитают устанавливать себе на компьютер специализированный почтовый клиент, чтобы максимально быстро и просто управлять электронными письмами. В большинстве случаев сразу же после инсталляции такой программы можно переходить к прямому взаимодействию с ней, но это не относится к определенному кругу юзеров операционной системы Linux. Здесь потребуется произвести добавление и настройку почтового сервера, который обеспечивает прием и передачу сообщений. Это сложная задача, но решаемая благодаря подробным руководствам. Мы хотим ознакомить вас с такими инструкциями, детально расписав каждый необходимый для выполнения шаг.

Настраиваем почтовый сервер в Linux

На текущий момент времени в открытом доступе находится несколько настраиваемых почтовых серверов, и каждый из них обладает своими особенностями. Мы сосредоточим свое внимание на самых популярных и востребованных решениях, уделив время и дополнительным компонентам. За пример будет взят дистрибутив Ubuntu, а для обладателей RedHat представлены отдельные команды, если отличия от указанных будут иметься. Перед началом разбора каждого этапа предлагаем ознакомиться с вводной и очень важной информацией, которая позволит разобраться в общем принципе работы рассматриваемой системы.

SMTP и компоненты почтовой службы

Некоторых пользователей интересует вопрос передачи электронных писем по интернету, связанных с необходимостью использования разных составляющих, отвечающих за определенные действия. Сортировка и пересылка подобной информации — сложный процесс, осуществляемый специальными алгоритмами. Самым важным компонентом этой цепи выступает SMTP (Simple Mail Transfer Protocol), который и является почтовым сервером. Он отвечает за соблюдение установленных правил пересылки, соответственно, выполняя ее. Без сервера остальные звенья цепи вообще не смогут работать. Серверы обмениваются информацией между собой, а значит, задействуют для этого порт. Чаще всего им выступает номер 25. Сами же разновидности серверов бывают разными, а сегодня за пример мы возьмем более продвинутый Postfix. Теперь рассмотрим общую структуру системы.

  • Почтовый клиент. Это та программа, через которую вы получаете и просматриваете свои письма. Самый банальный пример — Microsoft Outlook. Реализация графического интерфейса позволяет даже самому начинающему пользователю управлять своей учетной записью, даже не задумываясь о том, что скрыто за простыми кнопками.
  • Почтовый сервер. Выше мы уже сказали, что этот компонент выполняет опцию пересылки. Его можно назвать своеобразным почтальоном в мире интернета.
  • Агент доставки электронной почты. Последнее звено цепи, которое еще называется Mail Delivery Agent или сокращенно MDA. Именно этот инструмент отвечает за то, чтобы письмо было доставлено конкретному адресанту, а не заблудилось на просторах огромного сервера. В нашем случае подобным помощником будет выступать Postfix-maildrop.
Читайте также:  Chrome linux не открывает

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

Шаг 1: Инсталляция Postfix

Ранее мы уже уточнили, какой инструмент взяли за пример. Если вас этот выбор не устраивает, инсталлируйте любую другую утилиту и переходите к ее конфигурации по указанным в следующих шагах инструкциям, учитывая новые особенности. Иногда в стандартной сборке дистрибутива сервер Postfix уже установлен, что можно проверить командой grep postfix , однако в большинстве случаев его приходится инсталлировать самостоятельно, что мы и продемонстрируем далее.

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

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

Шаг 2: Настройка установленного сервера

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

  1. Как известно, конфигурация в Linux осуществляется путем изменения строк в специальных файлах. Для этого используется удобный текстовый редактор. Новичкам может быть сложно освоить vi, поэтому мы советуем установить сначала более простое решение. Для этого введите в консоли команду sudo apt install nano и нажмите на Enter.
  2. Подтвердите уведомление о необходимости скачивания архивов и ожидайте конца загрузки.
  3. После используйте команду sudo nano /etc/postfix/main.cf , чтобы запустить конфигурационный файл.
  4. Здесь обратим внимание лишь на главные параметры. myhostname — после знака = вам следует указать имя хоста почтовой системы в интернете, чтобы сервер мог принимать и отправлять письма.
  5. Строка mydomain отвечает за обслуживание домена, на котором располагается сервер.
  6. В параметре myorigin указывается используемое доменное имя. Мы предлагаем сохранить привычный для многих вид myorigin = $mydomain .
  7. mydestination — последний параметр, на который хотим обратить внимание. Эта строка определяет конечные доменные имена, куда будут доставляться письма. Указывайте значения в соответствии со своими потребностями.
  8. После внесения всех изменений нажмите на Ctrl + O, чтобы сохранить файл.
  9. Не меняйте его название, а просто нажмите на Enter.
  10. Завершите работу в текстовом редакторе через Ctrl + X.
  11. Теперь потребуется перезагрузить сервер, чтобы все изменения вступили в силу. Сделайте это в «Терминале», написав команду systemctl reload postfix .
  12. У вас не получится сразу же узнать, были ли допущены какие-то ошибки в конфигурации, поэтому для этого понадобится запускать средство проверки через postfix check . В новых строках отобразятся сведения о текущем состоянии сервера, и по ним можно определить корректность работы.

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

# /usr/local/etc/postfix/main.cf
# Config file for postfix mail system.
#

queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix

mail_owner = postfix
default_privs = nobody
myhostname = yourhost.yourdomain.com
mydomain = yourdomain.com
mynetworks = 192.168.1.0/24, 127.0.0.0/8

myorigin = $mydomain
inet_interfaces = $myhostname, localhost
mydestination = $myhostname, localhost.$mydomain, $mydomain
default_transport = smtp
alias_database = hash:/etc/aliases
mailbox_command = /usr/local/bin/procmail

Читайте также:  Как можно заправить картридж шприцом

smtpd_banner = $myhostname ESMTP READY
smtpd_client_restrictions = permit_mynetworks, reject_unknown_client
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_address, reject_non_fqdn_sender, reject_invalid_hostname
smtpd_recipient_restrictions = permit_mynetworks, permit_mx_backup, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, check_relay_domains, reject_unknown_client, reject

local_destination_concurrency_limit = 2
default_destination_concurrency_limit = 10
debug_peer_level = 2
debugger_command =
PATH=/usr/bin:/usr/X11R6/bin
xxgdb $daemon_directory/$process_name $process_id & sleep 5

После останется просто сохранить все эти изменения и внести правки, соответствующие вашим требованиям.

Шаг 3: Проверка очереди сообщений

Давайте вкратце остановимся на проверке очереди сообщений почтового сервера. Иногда количество писем на отправке становится огромным из-за различных сбоев, связанных с невозможностью их разослать. В таких случаях требуется производить очистку, чтобы наладить ситуацию. Для проверки текущей очереди используйте команду mailq . В новых строках отобразятся абсолютно все сообщения, находящиеся в ожидании на данный момент.

Если вдруг окажется, что очередь переполнена и никаким образом не продвигается, вполне вероятно, что произошел определенный сбой, мешающий наладить функционирование сервиса. Самый банальный вариант решения этой ситуации — очистка списка ожидающий сообщений. Это происходит через команду postfix flush . Если же и это не помогло, придется искать причины, анализируя текущее состояние сервера.

В качестве примера отметим одну опцию, которая выглядит следующим образом:

$ echo «This is message body» | mailx -s «This is Subject» -r «likegeeks» -a /path/to/attachment someone@example.com

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

Шаг 4: Настройка безопасности

Из представленных выше руководств вы уже знаете, что Postfix и другие серверы взаимодействуют с устройствами через сеть. Если соединение не будет защищено, вполне возможна ситуация совершения атак с целью похитить данные или нарушить стабильность работы ОС. Проще всего организовать правила безопасности с помощью системы OpenSSH, но для начала ее требуется установить и выполнить основную конфигурацию. Детальнее об этом читайте в других материалах на нашем сайте, воспользовавшись приведенными ниже ссылками.

Огромной популярностью пользуется протокол OpenSSL, поэтому во многих документациях показаны варианты настройки почтового сервера именно с помощью этого инструмента. Примеры команд выглядят так:

openssl genrsa -des3 -out mail.key
openssl req -new -key mail.key -out mail.csr
cp mail.key mail.key.original
openssl rsa -in mail.key.original -out mail_secure.key
openssl x509 -req -days 365 -in mail.csr -signkey mail_secure.key -out mail_secure.crt
cp mail_secure.crt /etc/postfix/
cp mail_secure.key /etc/postfix/

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

smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/postfix/mail_secure.crt
smtpd_tls_key_file = /etc/postfix/mail_secure.key
smtp_tls_security_level = may

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

Шаг 5: Установка и конфигурация Dovecot

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

  1. В консоли введите команду sudo apt-get -y install dovecot-imapd dovecot-pop3d и нажмите на Enter. Для обладателей RedHat команда выглядит немного иначе: dnf -y install dovecot .
  2. Подтвердите права суперпользователя, введя пароль в новой строке.
  3. Ожидайте окончания получения и распаковки архивов. Во время этой операции также будут обновлены правила профиля OpenSSH.
  4. Добавьте рассматриваемый инструмент в автозагрузку через systemctl start dovecot .
  5. Подтвердите это действие, написав пароль в появившемся окне.
  6. Вставьте команду systemctl enable dovecot , чтобы запустить Dovecot.
  7. Теперь вы можете открыть конфигурационный файл для настройки через sudo nano /etc/dovecot/dovecot.conf .
  8. Изначально в этом файле не будет практически никаких параметров, поэтому их понадобится вставлять самостоятельно. Не станем углубляться в тонкости настройки, а лишь предоставим самые базовые и необходимые строки, который вы можете скопировать, вставить и сохранить файл.

protocols = imap pop3 lmtp
listen = *, ::

userdb <
driver = pam
>

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

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

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

Для FirewallD эта структура выглядит немного иначе:

$ firewall-cmd —permanent —add-port=110/tcp —add-port=995
$ firewall-cmd —permanent —add-port=143/tcp —add-port=993
$ firewall-cmd —reload

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

Источник

Поделиться с друзьями
КомпСовет
Adblock
detector