- SMTP сервер только для отправки сообщений в Ubuntu 18.04
- Установка Postfix
- Настройка Postfix
- Тестирование сервера SMTP
- Переадресация системной почты
- Включение шифрования SMTP
- Заключение
- Установка и настройка SMTP-сервера передачи сообщений Postfix в Ubuntu 14.04
- Зачем это нужно?
- Требования
- 1: Установка Postfix
- 2: Настройка Postfix
- 3: Тестирование SMTP-сервера
- 4: Форвардинг почты
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 , чтобы сгенерированные системой сообщения, отправляемые на этот адрес, пересылались на внешний адрес электронной почты.
Файл /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. Благодаря шифрованию всех исходящих сообщений мы снизили вероятность того, что провайдеры сразу же пометят ваши сообщения как спам. Если вы делаете это при разработке, данной меры должно быть достаточно.
Источник
Установка и настройка SMTP-сервера передачи сообщений Postfix в Ubuntu 14.04
Postfix – это агент пересылки сообщений (англ. Mail Transfer Agent, или MTA), приложение для отправки и получения электронной почты. В данном руководстве показано, как установить и настроить Postfix только для отправки сообщений локальных приложений (то есть, приложений, установленных на одном сервере с Postfix).
Зачем это нужно?
При использовании стороннего поставщика услуг электронной почты нет никакой необходимости запускать собственный почтовый сервер. Если же на облачном сервере установлены приложения, которым необходимо отправлять уведомления по электронной почте, то локальный SMTP-сервер передачи сообщений будет отличной альтернативой стороннему поставщику услуг электронной почты и полномасштабному SMTP-серверу.
Отличным примером приложения для отправки оповещений является OSSEC; эта система может отправлять предупреждения на любой указанный адрес электронной почты. Как и многие другие приложения такого рода, OSSEC может использовать для отправки уведомлений как SMTP-сервер стороннего поставщика, так и локальный SMTP-сервер передачи сообщений.
Примечание: при необходимости получать уведомления с сервера только на один адрес рекомендуется создать белый список электронных адресов, которые могут случайно попасть в спам.
Если же сервер должен отправлять извещения потенциальным пользователям сайта (например, электронные подтверждения регистрации), нужно защитить домен от спамеров; тогда извещения сервера с меньшей вероятностью будут помечены как спам.
Требования
Для выполнения данного руководства нужны:
- Предварительно настроенный сервер Ubuntu 14.04 и учетная запись пользователя с расширенными привилегиями sudo;
- Валидное доменное имя (в данном руководстве используется условный домен example.com).
Имя хоста сервера должно соответствовать этому домену или поддомену. Чтобы проверить имя хоста сервера, введите в командную строку hostname. Вывод должен совпадать с именем сервера, которое он получил при создании (например, example.com).
1: Установка Postfix
Чтобы установить Postfix, а заодно и ряд других программ, необходимых для настройки почты, просто установите пакет mailutils:
sudo apt-get install mailutils
Вместе с пакетом mailutils будет установлен Postfix и его зависимости. Вывод команды выглядит примерно так:
The following NEW packages will be installed:
guile-2.0-libs libgsasl7 libkyotocabinet16 libltdl7 liblzo2-2 libmailutils4 libmysqlclient18 libntlm0 libunistring0 mailutils mailutils-common mysql-common postfix ssl-cert
0 upgraded, 14 newly installed, 0 to remove and 3 not upgraded.
Need to get 5,481 kB of archives.
After this operation, 26.9 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Чтобы установить все вышеперечисленные пакеты, нажмите ENTER. В конце установки появится окно настройки Postfix, в котором нужно выбрать тип почтовой настройки; опция по умолчанию – Internet Site, что полнее удовлетворяет требования данного руководства (чтобы подтвердить, нажмите TAB и ENTER).
После этого появится новое окно настройки Postfix с полем System mail name. Это поле должно совпадать с именем сервера, которое вы выбрали при его создании. Укажите имя, а затем нажмите TAB и ENTER.
Примечание: Если в строке появляется поддомен вроде first.example.com, сократите его до example.com.
2: Настройка Postfix
Данный раздел покажет, как настроить Postfix для отправки сообщений с сервера, на котором он установлен (то есть, с локального хоста).
Для этого Postfix должен быть настроен на прослушивание только интерфейса внутренней петли (loopback interface) – это виртуальный сетевой интерфейс, который используется сервером для внутреннего взаимодействия. Откройте конфигурационный файл Postfix с помощью редактора nano:
sudo nano /etc/postfix/main.cf
Найдите в нем следующий блок кода:
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
Замените строку inet_interfaces = all строкой inet_interfaces = loopback-only. Теперь этот блок выглядит так:
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
Вместо loopback-only можно также использовать localhost:
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = localhost
Завершив редактирование файла, сохраните изменения и закройте его (CTRL+X, затем Y и ENTER). После этого перезапустите Postfix:
sudo service postfix restart
3: Тестирование SMTP-сервера
Теперь необходимо проверить, может ли Postfix отправлять сообщения на внешний электронный адрес. Для этого используется команда mail, которая также входит в пакет mailutils.
Итак, чтобы отправить тестовое сообщение, наберите:
echo «This is the body of the email» | mail -s «This is the subject line» user@example.com
Примечание: Вместо user@example.com используйте валидный адрес электронной почты.
Проверьте почтовый ящик, на который было отправлено сообщение. Если отправленное сообщение не появилось, проверьте папку спама.
Примечание: В данном руководстве используется условный адрес gunter@example.com, где gunter – имя пользователя Linux, а домен – имя хоста сервера (эту строку нужно указать в поле From).
4: Форвардинг почты
В завершение нужно настроить пересылку почты (или форвардинг), чтобы сервер мог предавать сообщения, отправленные пользователю root, на ваш персональный внешний адрес.
Чтобы Postfix отправлял сгенерированные системой сообщения на ваш почтовый адрес, отредактируйте файл /etc/aliases.
sudo nano /etc/aliases
В стандартной установке Ubuntu 14.04 этот файл выглядит так:
# See man 5 aliases for format
postmaster: root
Эта настройка передает сообщения системы пользователю root. Теперь нужно сделать так, чтобы сообщения перенаправлялись на ваш адрес электронной почты. Для этого внесите в файл строку:
# See man 5 aliases for format
postmaster: root
root: gunter@example.com
Замените gunter@example.com своим личным адресом электронной почты. Сохраните и закройте файл. Чтобы изменения вступили в силу, выполните следующую команду:
Теперь протестируйте форвардинг, отправив сообщение пользователю root:
echo «This is the body of the email» | mail -s «This is the subject line» root
Это сообщение должно появиться в вашем почтовом ящике (если нет – проверьте папку спама).
Источник