Новости
Сьогодні велика кількість веб-сервісів використовують email для відправки службових повідомлень. Інтернет-магазини відправляють листи про статус замовлення, плагіни відправляють повідомлення про результати роботи, системні скрипти використовують пошту для звітів. Без пошти ніяк. Є три варіант виходу з ситуації:
- Часто сам движок дозволяє вказати зовнішній SMTP сервер, через який він буде відправляти повідомлення - потрібно мати такий аккаунт. Плюс сьогодні можна прив'язати домен до деяких безкоштовним хмарних сервісів - GMAil або Яндекс.Пошта. Такий підхід має великий плюс - менше проблем зі спам фільтрами, тому що весь заголовок формує перевірений постачальник послуг
- Використання свого поштового сервера - доведеться його налаштувати, зате більше можливостей по конфігурації або переконфігурації.
- Використання програми прокладки імітує локальний SMTP сервер і відправляє повідомлення через зовнішній сервіс - наприклад SSMTP.
Сьогодні розберемо другий варіант. Як SMTP сервера виберемо Postfix, він дуже простий і зрозумілий в налаштуваннях. Перевіряємо чи не працює у нас вже поштовий сервер:
$ Netstat -ant | grep 25
Якщо відповідь порожній, то починаємо установку.
$ Sudo apt update $ sudo apt install postfix
За запитом вибираємо Інтернет сайт.
Далі вказуємо Поштове ім'я від якого будуть йти листи і воно буде фігурувати в заголовку. це важливий ця якщо його налаштувати не правильно, деякі спам фільтри не пройдете. За замовчуванням пропонується localhost.localdomain, прописуємо тут ім'я основного домену, наприклад example.org.
Після цього будуть створені конфігураційні файли і запущений Postfix. Але поспішати працювати поки не варто.
$ Cat /etc/postfix/main.cf smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination myhostname = Ubuntu1404 alias_maps = hash: / etc / aliases alias_database = hash: / etc / aliases myorigin = / etc / mailname mydestination = example.org, Ubuntu1404, localhost. localdomain, localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128 mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all inet_protocols = all
Поки одна проблема в параметрі myhostname, в даному випадку ім'я Ubuntu1404 буде фігурувати в SMTP заголовках і може не сподобається спамфільтр. Тому відразу прописуємо там:
myhostname = example.org
І перезапускаємо Postfix
$ Sudo service postfix restart
Інший варіант виконати переконфігурацію отримаємо можливість відредагувати в майстра більше число параметрів, не боячись зробити помилку.
$ Sudo dpkg-reconfigure postfix
Тепер крім параметрів налаштованих вище, можемо змінити одержувача системної пошти. Наприклад, в Ubuntu під root зазвичай не працюють, тут пишемо своє системне ім'я. Наприклад user.
Редагуємо список доменів для яких проводиться доставка пошти. Тут налаштовуємо то що буде в параметрі mydestination. Пишемо сюди всі домени і localhost.
Далі Синхронні поновлення, їх можна відключити.
Вказуємо список мереж з яких можна відправляти пошту (параметр mynetworks). Тут досить 127.0.0.1 і його IPv6 аналог.
Обмеження на розмір поштової скриньки (параметр mailbox_size_limit).
Символ розширення для локальних адрес (параметр recipient_delimiter). Можна залишити порожнім або +.
Використання мережевих протоколів Ipv4 і Ipv6 (параметр inet_protocols). Можна вибрати варіант Все. При використанні SPF слід стежити щоб у правило були вписані обидві адреси, інакше будуть проблеми.
Тепер можна відправити контрольний лист https://www.mail-tester.com/ і проаналізувати установки.