Postfix: настроювання надсилання пошти до Asterisk. Встановлення та налаштування спам-фільтра. Перевіряємо системний час

| |

Postfix – це агент пересилання повідомлень (англ. Mail Transfer Agent, або MTA), додаток для надсилання та отримання електронної пошти. У цьому посібнику показано, як встановити та налаштувати Postfix тільки для надсилання повідомлень локальних додатків(тобто додатків, встановлених на одному сервері з Postfix).

Навіщо це потрібно?

Якщо Ви використовуєте стороннього постачальника послуг електронної пошти, не потрібно запускати власний поштовий сервер. Якщо ж на хмарному серверівстановлені програми, яким необхідно надсилати повідомлення електронною поштою, то локальний SMTP-сервер передачі повідомлень буде чудовою альтернативою сторонньому постачальникупослуг електронної пошти та повномасштабного SMTP-сервера.

Відмінним прикладом програми для надсилання оповіщень є OSSEC; ця система може надсилати попередження на будь-який вказана адресаелектронної пошти. Як і багато інших програм такого роду, OSSEC може використовувати для надсилання повідомлень як SMTP-сервер стороннього постачальника, так і локальний SMTP-сервер передачі повідомлень.

Примітка: при необхідності отримувати повідомлення з сервера лише на одну адресу рекомендується створити білий списокелектронних адрес, які можуть випадково потрапити до спаму.

Якщо сервер повинен надсилати повідомлення потенційним користувачам сайту (наприклад, електронні підтвердженняреєстрації), необхідно захистити домен від спамерів; тоді сповіщення сервера з меншою ймовірністю будуть позначені як спам.

Вимоги

Для виконання цього посібника потрібні:

Ім'я сервера хоста повинно відповідати цьому домену або піддомену. Щоб перевірити ім'я сервера хоста, введіть в командний рядок 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 uploaded, 0 to remove and 3 not upgraded.
Необхідно отримати 5,481 kB of archives.
Після цієї операції, 26.9 MB додатковий дисковий простір буде використано.
Do you want to continue?

Натисніть 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 "Це є електронною поштою" | mail -s "This is the subject line" [email protected]

Примітка: Замість [email protected]використовуйте валідну адресу електронної пошти.

Перевірте Поштова скринька, на який було надіслано повідомлення. Якщо надіслане повідомлення не з'явилося, перевірте папку спаму.

Примітка: У цьому посібнику використовується умовна адреса [email protected]де gunter – ім'я користувача Linux, а домен – ім'я хоста сервера (цей рядок потрібно вказати у полі From).

4: Форвардинг пошти

На завершення потрібно налаштувати пересилання пошти (або форвардинг), щоб сервер міг надсилати повідомлення, надіслані користувачеві root, на вашу персональну зовнішню адресу.

Щоб Postfix відправляв згенеровані системою повідомлення на ваш Поштова адреса, редагуйте файл /etc/aliases.

sudo nano /etc/aliases

У стандартній встановлення Ubuntu 14.04 цей файл виглядає так:


postmaster: root

Ця установка передає повідомлення системи користувачеві root. Тепер потрібно зробити так, щоб повідомлення перенаправлялися на вашу адресу електронної пошти. Для цього внесіть у файл рядок:

# See man 5 aliases for format
postmaster: root
root: [email protected]

Замініть [email protected]своєю особистою адресою електронної пошти. Збережіть та закрийте файл. Щоб зміни набули чинності, виконайте таку команду:

Тепер протестуйте форвардинг, надіславши повідомлення користувачу root:

echo "Це є електронною поштою" | mail -s "This is the subject line" root

Це повідомлення має з'явитися у вашій поштовій скриньці (якщо ні – перевірте папку спаму).

Tags: ,

Postfixє агентом передачі пошти (MTA) в Ubuntu за промовчанням. Він розроблений щоб бути швидким, простим у адмініструванні та безпечним. Він сумісний з MTA sendmail . Цей розділ описує як встановити та налаштувати postfix. Тут також пояснюється як зробити його SMTP сервером, що використовує безпечні з'єднання (для безпечної передачі повідомлень).

Встановлення

Для установки postfixвиконайте наступну команду:

Sudo apt-get install postfix

Просто натискайте введення коли процес установки ставить питання, дуже детальне налаштуваннябуде виконано на наступному етапі.

Базове налаштування

Для налаштування postfix, виконайте таку команду:

Sudo dpkg-reconfigure postfix

Буде запущено користувальницький інтерфейс. На кожному екрані вибирайте такі значення:

    mail.example.com

    steve

    mail.example.com , localhost.localdomain, localhost

    127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24

Замініть mail.example.com на домен, для якого ви налаштовуєте email, 192.168.0.0/24 на актуальну підмережу та маску для вашого поштового сервера та steve на відповідне ім'я користувача.

Тепер саме час вирішити, який формат поштової скриньки ви хочете використовувати. За промовчанням postfix використовує формат mbox. Замість безпосереднього редагування конфігураційного файлу ви можете використовувати команду postconfдля налаштування параметрів postfix. Параметри буде збережено у файлі /etc/postfix/main.cf. Надалі якщо ви вирішите переконфігурувати окремі параметри, ви можете як запустити команду, так і вручну поправити файл.

Для налаштування формату поштової скриньки для Maildir:

Sudo postconf -e "home_mailbox = Maildir/"

Аутентифікація SMTP

SMTP-AUTH дозволяє клієнту ідентифікувати себе через механізм автентифікації (SASL). Транспортний рівеньбезпеки (TLS) буде використовуватися для шифрування процесу автентифікації. Після аутентифікації SMTP сервер дозволить клієнту надсилати пошту.

1. Налаштуйте Postfix на SMTP-AUTH за допомогою SASL (Dovecot SASL):

sudo postconf -e "smtpd_sasl_type = dovecot" sudo postconf -e "smtpd_sasl_path = private/auth-client" sudo postconf -e "smtpd_sasl_local_domain =" sudo postconf -e "smtpd_sasl_security_options = no sudo postconf -e "smtpd_sasl_auth_enable = yes" sudo postconf -e "smtpd_recipient_restrictions = \permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination"

Налаштування smtpd_sasl_path є шляхом, що стосується каталогу запитів Postfix.

3. Як тільки у вас з'явився сертифікат, настройте Postfix на використання шифрування TLS як для вхідної, так і для вихідної пошти:

sudo postconf -e "smtp_tls_security_level = may" sudo postconf -e "smtpd_tls_security_level = may" sudo postconf -e "smtp_tls_note_starttls_offer = yes" sudo postconf -e "smtpd_tls_e_key smtpd_tls_cert_file = /etc/ssl/certs/server.crt" sudo postconf -e "smtpd_tls_loglevel = 1" sudo postconf -e "smtpd_tls_received_header = yes" sudo postconf -e "myhostname = mail.example.com

4. Якщо ви використовуєте власний Центр сертифікації , щоб підписати сертифікат, введіть:

Sudo postconf -e "smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem"

Знову ж таки, для подробиць дивіться розділ Сертифікати .

Після виконання всіх команд Postfix налаштований на SMTP -AUTH і самопідписаний сертифікат створений для шифрування TLS.

Початкове налаштування postfix закінчено. Виконайте наступну команду для перезапуску сервісу postfix:

Postfix підтримує SMTP-AUTH як описано в RFC2554. Він заснований на SASL. Однак необхідно настроїти автентифікацію перед тим, як ви зможете використовувати SMTP -AUTH.

Налаштування SASL

Postfix підтримує дві реалізації SASL: Cyrus SASL і Dovecot SASL . Щоб дозволити Dovecot SASL, потрібно встановити пакет dovecot-common. Для цього з терміналу введіть таке:

Sudo apt-get install dovecot-common

Socket listen ( #master ( # Master socket пропонує access to userdb information. It"s typically # used to give Dovecot"s local delivery agent access to userdb so it # can find mailbox locations. #path = /var/run/dovecot/ auth-master #mode = 0600 # Default user/group is the one who started dovecot-auth (root) #user = #group = #) client ( # Client socket is generally safe to export to everyone. Typical use # is to export it to your SMTP server se it can do SMTP AUTH lookups # using it path = /var/spool/postfix/private/auth-client mode = 0660

Щоб дозволити використовувати SMTP-AUTH клієнтам Outlookу секції auth defaultфайлу /etc/dovecot/dovecot.conf додайте "login":

Mechanisms = plain login

Після налаштування Dovecot перезапустіть його:

Sudo /etc/init.d/dovecot restart

Поштовий стек доставки

Іншою опцією налаштування Postfix для SMTP -AUTH є використання пакета mail-stack-delivery(Раніше він називався dovecot-postfix). Цей пакет встановить Dovecot та налаштує Postfix для його використання спільно з SASL автентифікацією та як агента доставки пошти (MDA). Пакет також налаштує Dovecot для IMAP, IMAPS, POP3 та POP3S.

Ви можете захотіти або не захотіти використовувати IMAP , IMAPS, POP3 або POP3S на вашому поштовому сервері. Наприклад, якщо ви налаштовуєте свій сервер як поштовий шлюз, фільтр спаму і вірусів і т.п. У цьому випадку можливо буде простіше використовувати наведені вище команди для налаштування Postfix на SMTP _AUTH.

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

Sudo apt-get install mail-stack-delivery

У вас тепер робочий поштовий сервер, але є кілька опцій, які ви, можливо, захочете змінити надалі. Наприклад, пакет використовує сертифікат і ключ від ssl-cert пакета, і в робочому середовищіВи повинні використовувати сертифікат і ключ, згенерований для хоста. Дивіться рядок Сертифікати для додаткових деталей.

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

Smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key

Перезапустіть Postfix:

Sudo /etc/init.d/postfix restart

Тестування

Налаштування SMTP -AUTH завершено. Тепер саме час перевірити налаштування.

Щоб переконатися, що SMTP -AUTH та TLS працюють правильно, виконайте таку команду:

Telnet mail.example.com 25

Після встановлення з'єднання з поштовим сервером postfix введіть:

Ehlo mail.example.com

Якщо серед іншого ви побачите наступні рядки, все працює чудово. Введіть quitдля виходу.

250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME

Вирішення проблем

Ця секція описує декілька загальних способіввизначення причин виникаючих проблем.

Відмова від режиму chroot

Пакет postfixв Ubuntu за замовчуванням встановлюється в оточенні chrootз міркувань безпеки. Це може додатково ускладнити процес пошуку вирішення проблем.

Щоб вимкнути функціонування chroot, знайдіть наступний рядоку файлі налаштувань /etc/postfix/master.cf:

Smtp inet n - - - - smtpd

І замініть наступне:

Smtp inet n - n - - smtpd

Після цього вам доведеться перезапустити Postfix для нових налаштувань. З терміналу введіть наступне:

Sudo /etc/init.d/postfix restart

Файли журналів

Postfix посилає всі повідомлення до журналу /var/log/mail.log. Проте повідомлення про помилки та попередження можуть іноді губитися в нормальному журналі, тому вони окремо зберігаються у /var/log/mail.err та /var/log/mail.warn відповідно.

Для перегляду повідомлень журналу в режимі реального часу можна використовувати команду tail -f:

Tail -f /var/log/mail.err

Кількість деталей, що записуються в журнал, може бути збільшено. Нижче наведено кілька опцій налаштування для збільшення рівня деталізації деяких областей, описаних вище.

1. Для збільшення TLSактивності журналу, встановіть опції smtpd_tls_loglevelзначення від 1 до 4

Sudo postconf -e "smtpd_tls_loglevel = 4"

2. Якщо ви відчуваєте труднощі з відправкою або прийомом пошти окремого домену, ви можете включити його до параметра debug_peer_list.

Sudo postconf -e "debug_peer_list = problem.domain"

3. Ви можете збільшити деталізацію будь-якого сервісу Postfix редагуванням /etc/postfix/master.cf, додавши -vпісля відповідного запису. Наприклад змінимо запис smtp:

Smtp unix - - - - - smtp -v

Важливо пам'ятати, що після внесення змін налаштувань журналювання процесів Postfix потрібно перезапустити для сприйняття нової конфігурації: sudo /etc/init.d/postfix reload

4. Для збільшення кількості інформації в журналі при пошуку проблем із SASL, ви можете встановити такі опції в /etc/dovecot/dovecot.conf:

Auth_debug=yes auth_debug_passwords=yes

Як і у випадку з Postfix, якщо ви змінюєте налаштування Dovecot, процес потрібно перезапустити: sudo /etc/init.d/dovecot reload

Деякі опції можуть серйозно збільшити обсяг інформації, що передається у файли журналів. Не забувайте повертати рівень деталізації журналів до нормального значення після вирішення проблем. Потім перезапустіть відповідний сервіс, щоб зміни налаштування набрали чинності.

Посилання

Адміністрування сервера Postfix може бути дуже складним завданням. У якийсь момент вам може знадобитися звернутися до спільноти Ubuntu для більш кваліфікованої допомоги.

Для занурення в інформацію по Postfix дуже рекомендується прочитати The Book of Postfix.

Нарешті сайт Postfix також містить багато інформації щодо всіх можливих опцій налаштування.

Крім того, сторінка Ubuntu Wiki Postfix містить додаткову інформацію.

Дорогий читачу! IP – АТС Asteriskвикористовує e-mail повідомлення для надсилання повідомлень про різні події: голосова пошта, факс, доступні оновленнямодулів, технічні проблемита багато інших інформативних нотифікацій. «З коробки», для відправки пошти використовуються внутрішні механізми, але якщо ми хочемо вписати Asterisk в поштовий домен? Для вирішення даного питанняможна вдатися до двох методів:

  1. Придбання модуля System Admin Proза $25 (на 29 березня вартість складає 1 600 рублів) та налаштування SMTPза допомогою зручного графічного інтерфейсу FreePBX;
  2. Налаштування вбудованого поштового сервера Postfixчерез консоль сервера. Це безкоштовно:)

Ми не шукаємо легких шляхів, тому у статті розповімо як налаштувати Postfixдля відправки поштових повідомлень IP - АТС. Як приклад розглянемо налаштування Яндекс. Пошти для домену та загальний випадок.

Налаштування Яндекс. Пошти

Підключаємося до консолі нашого сервера IP-АТС через SSH під користувачем root. Відкриваємо для редагування файл конфігурації Postfix:

# vim /etc/postfix/main.cf

Натискаємо «О» для редагування та додаємо до нього наступну конфігурацію (попередньо видаливши коментарі):

Smtp_sasl_auth_enable = yes //включаємо SMTP автентифікацію для SMTP - демона smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd //вказуємо Postfix шлях для файлу, в якому зберігаються пароль і логін для авторизації на SMTP посилати запит на авторизацію в відкритому вигляді(нешифровані логін та пароль) smtp_sasl_type = cyrus // використання бібліотеки Cyrus SASL для автентифікації smtp_sasl_mechanism_filter = login //пропонований SMTP клієнтоммеханізм SASL автентифікації smtp_sender_dependent_authentication = yes //аутентифікація залежно від відправника sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay //Ця змінна вказує на перепис глобального настроювання relayhost. У даному випадкуми будемо порівнювати домен відправника та релей, куди відправляти пошту. sender_canonical_maps = hash:/etc/postfix/canonical //через який обліковий запис відправляти пошту з певного домену smtp_generic_maps = hash:/etc/postfix/generic //дана настройка вказує правила, згідно з якими необхідно підміняти адресу відправника листа smtp_use_tls у Яндекс. Пошти використовується TLS. email адресавідправника буде [email protected](надалі буде замінено згідно з правилами змінної smtp_generic_maps) mynetworks = 127.0.0.0/8 //авторизована частина мережі. Для надсилання пошти від Asterisk'а залиште дане налаштуваннятакий relayhost = :465 //SMTP Яндекс

По закінченню налаштувань натискаємо: x! та Enter. Почнемо конфігурувати файли, до яких ми вказали посилання конфігурації main.cf. Відкриваємо файл /etc/postfix/sasl_passwd:

# vim /etc/postfix/sasl_passwd

Вказуємо там наступні параметри:

# Логін: Пароль

Як логін і пароль використовуються реквізити доступу до поштової адреси, що настроюється. Натискаємо: x! та Enter. Тепер попрацюємо із файлом sender_relay:

Зверніть увагу, що якщо Ви робите пошту для домену від Яндекс. Пошти, у полі логін потрібно вказувати повністю поштову скриньку.
# vim /etc/postfix/sender_relay

Вносимо таку конфігурацію:

# @домен користувач@домен

Для коректного налаштування, радимо попередньо перевіряти ще раз ім'я хоста командою hostname , відкинувши хостову частину і точно визначивши домен. Так само, як відправник, Ви можете додати рядок asterisk@домен . Зберігаємо зміни вказаним раніше способом.

# vim /etc/postfix/canonical

Додаємо:

@домен налаштована_поштова_ящик

У цьому налаштуванні ми підказуємо Постфіксу, що відправляти пошту з нашого домену потрібно через поштову скриньку, що настроюється. Зберігаємо зміни. Переходимо до налаштування generic:

# vim /etc/postfix/generic

Тут ми будемо підмінювати адресу відправника. Це дуже важливе поле, так як за замовчуванням, лист у полі Від:буде підставлятися значення користувач@домен. Заповнюємо:

Root настроювана_поштова_ящик root@localhost настроювана_поштова_ящик [email protected]настроювана_поштова_ящик root@freepbx налаштована_поштова_ящик [email protected]налаштовувана_поштова_ящик asterisk налаштовувана_поштова_ящик asterisk@localhost налаштовувана_поштова_ящик [email protected]настроювана_поштова_ящик asterisk@freepbx настроювана_поштова_ящик [email protected]настроювана_поштова_ящик

Зберігаємо зміни: x! . Готово, тепер потрібно виконати команду:

# postmap /etc/postfix/generic && postmap /etc/postfix/canonical && postmap /etc/postfix/sender_relay && postmap /etc/postfix/sasl_passwd

І потім перезавантажуємо Postfix:

# service postfix restart Shutting down postfix: [ OK ] Starting postfix: : [ OK ]

Виконуємо перевірку. Надішліть тестове порожній листна свою особисту поштову скриньку:

# mail -s "Postfix Test with Yandex" ваш_email< /dev/null

Як результат, отримуємо листа на адресу електронної пошти:

Загальний випадок налаштування Postfix

Вище ми розглянули окремий випадокналаштування Яндек.Пошти для домену. Давайте покроково розглянемо налаштування будь-якого іншого SMTP:

  1. Підключаємось по SSH до консолі сервера
  2. Відкриваємо файл /etc/postfix/main.cf
  • додаємо relayhost =
  • Відкриваємо файл /etc/postfix/sasl_passwd
    • додаємо запис виду Логін: Пароль
  • Даємо команду postmap hash:/etc/postfix/sasl_passwd
  • Знову відкриваємо файл /etc/postfix/main.cf
    • додаємо smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = smtp_generic_maps = hash:/etc/postfix/generic
  • Виконуємо команду service postfix restart
  • Відкриваємо файл /etc/postfix/generic
    • додаємо в нього рядки, які додали на етапі налаштування Яндекс.Пошти: root налаштована_поштова_ящик asterisk налаштовувана_поштова_ящик ….
  • Виконуємо команду postmap /etc/postfix/generic
  • Виконуємо команду service postfix restart
  • Можливі помилки

    Після команди тестового відправлення пошти дивимося лог:

    # tail -f /var/log/maillog

    Якщо ви спостерігаєте помилку виду 503 5.5.4 Error: send AUTH command first. , то вона означає, що email з якого ми намагаємося відправити повідомлення відбивається SMTP сервером (як правило, це видно у виведенні лога у поле from=<>). У такому разі перевірте коректність налаштувань файлу /etc/postfix/generic.

    Якщо в логах виявили помилку warning: SASL authentication failure: No worthy mechs found , вам необхідно встановити механізм автентифікації SASL (Simple Authentication and Security Layer). Зробити це можна за допомогою команди:

    # yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain

    Якщо на етапі налагодження Ви отримуєте помилку виду bash:mail: команда не знайдена, то Вам необхідно встановити Unix утиліту mailx. Зробити це можна за допомогою цієї команди:

    # yum install mailx

    Чи корисна вам ця стаття?

    Будь ласка, розкажіть чому?

    Нам шкода, що стаття не була корисною для вас: (Будь ласка, якщо не утруднить, вкажіть з якої причини? Ми будемо дуже вдячні за докладну відповідь. Дякую, що допомагаєте нам стати кращими!

    Червень 9, 2016 12:29 пп 12 208 views | 3 Comments

    Postfix – це агент пересилання повідомлень (англ. Mail Transfer Agent, або MTA), додаток для надсилання та отримання електронної пошти. Даний посібникдопоможе встановити та налаштувати Postfix тільки для надсилання повідомлень локальних програм (тобто програм, встановлених на одному сервері з Postfix).

    Навіщо це потрібно?

    Якщо Ви використовуєте стороннього постачальника послуг електронної пошти, не потрібно запускати власний поштовий сервер. Якщо на хмарному сервері встановлені програми, яким необхідно надсилати повідомлення електронною поштою, то локальний SMTP-сервер передачі повідомлень буде відмінною альтернативою сторонньому постачальнику послуг електронної пошти та повномасштабному SMTP-серверу.

    Вимоги

    • Налаштований сервер Ubuntu 16.04 (інструкції з налаштування можна знайти).
    • Чи не-root користувач з доступом до sudo.
    • Валідний домен (у посібнику використовується умовний домен example.com).

    Примітка: Ім'я сервера хоста повинно відповідати цьому домену або піддомену. Щоб перевірити ім'я сервера хосту, введіть у командний рядок hostname. Висновок повинен збігатися з ім'ям сервера, яке він отримав під час створення.

    1: Установка Postfix

    Щоб встановити Postfix, а заразом і ряд інших програм, необхідних для налаштування пошти, просто встановіть пакет mailutils.

    Оновіть індекс пакетів:

    sudo apt-get update

    Пакет mailtuils встановить Postfix та кілька додаткових програм:

    sudo apt install mailutils

    Наприкінці встановлення програма запропонує вибрати тип налаштування. Рекомендується вибрати стандартну опцію Internet Site. Для цього натисніть TAB та ENTER.

    Please select the mail configuration type that best meets your needs.
    […]
    General type of mail configuration:
    No configuration
    Internet site
    Internet with smarthost
    Satellite system
    Local only

    Після цього програма запропонує вибрати ім'я пошти, System mail name. Це поле має збігатися з ім'ям сервера, яке ви вибрали під час його створення. Вкажіть ім'я, а потім натисніть TAB та ENTER. Якщо в полі автоматично введено піддомен типу subdomain.example.com, замініть його на домен example.com.

    The 'mail name' is the domain name used to 'qualify' _ALL_ mail address without a domain name.
    […]
    System mail name:

    2: Налаштування Postfix

    Тепер потрібно налаштувати Postfix для надсилання повідомлень з локального хоста.

    Для цього Postfix має бути налаштованим на прослуховування лише інтерфейсу внутрішньої петлі (loopback interface) – це віртуальний мережний інтерфейс, який використовується сервером для внутрішньої взаємодії. Відкрийте конфігураційний файл Postfix у текстовому редакторі:

    sudo nano /etc/postfix/main.cf

    Знайдіть розділ:

    . . .
    mailbox_size_limit = 0
    recipient_delimiter = +
    inet_interfaces = all
    . . .

    Змініть значення рядка inet_interfaces=all на loopback-only.

    . . .
    mailbox_size_limit = 0
    recipient_delimiter = +
    inet_interfaces = loopback-only
    . . .

    Після цього потрібно відредагувати директиву mydestination, яка визначає список доменів, пошта яких повинна бути доставлена ​​через локальний агент доставки local_transport. За замовчуванням список виглядає приблизно так:

    /etc/postfix/main.cf
    . . .
    mydestination = $myhostname, example.com, localhost.com, localhost
    . . .

    /etc/postfix/main.cf
    . . .
    mydestination = $myhostname, localhost.$mydomain, $mydomain
    . . .

    Збережіть та закрийте файл.

    Примітка: Якщо на одному сервері розміщено кілька доменів, можна додати інші домени до параметрів Postfix (mydestination). На жаль, це вимагатиме додаткового налаштування, що виходить за межі цього посібника.

    Перезапустіть Postfix:

    sudo systemctl restart postfix

    3: Тестування сервера SMTP

    Тепер необхідно перевірити, чи може Postfix надсилати повідомлення на зовнішню електронну адресу. Для цього використовується команда mail, яка також входить до пакету mailutils.

    Щоб надіслати тестове повідомлення, введіть:

    echo "Це є електронною поштою" | mail -s "This is the subject line" your_email_address

    Примітка: Вкажіть свою тему та тіло повідомлення. Замість your_email_address використовуйте валідну адресу електронної пошти.

    Перевірте поштову скриньку, на яку було надіслано повідомлення. Якщо надіслане повідомлення не з'явилося, перевірте папку спаму.

    При такому налаштуванні у полі From буде вказана адреса [email protected], де user – ім'я користувача системи Linux, а example.com – ім'я хоста. Якщо ви зміните ім'я користувача, адреса у полі From також зміниться.

    4: Поштовий форвардинг

    На завершення потрібно налаштувати пересилання пошти (або форвардинг), щоб сервер міг передавати повідомлення, надіслані користувачеві root, на вашу персональну зовнішню адресу.

    Щоб Postfix надсилав згенеровані системою повідомлення на вашу поштову адресу, відредагуйте файл /etc/aliases.

    sudo nano /etc/aliases

    У стандартної установки Ubuntu 16.04 цей файл виглядає так:

    # See man 5 aliases for format
    postmaster: root

    Ця установка передає повідомлення системи користувачеві root. Тепер потрібно зробити так, щоб повідомлення перенаправлялися на вашу адресу електронної пошти. Для цього внесіть у файл рядок.