Налаштування ретрансляції пошти за допомогою postfix і mailgun в ubuntu

Розміщення серверів в надійних дата-центрах Європи. Відкрийте хмарний VPS / VDS сервер на швидких SSD за 1 хвилину!

Кращий хостинг:
- захистить дані від несанкціонованого доступу в охоронюваному європейському ЦОДі
- прийме оплату хоч в bitcoin.
- дозволить поставити свій дистрибутив

- захист від DDos-атак
- безкоштовний backup
- Uptime 99,9999%
- ЦОД - TIER III
- провайдер - TIER I

Підтримаємо російською мовою 24/7/365 Працюємо з юрособами і фізособами. Вам прямо зараз потрібно 24 ядра і 72 Gb RAM. Будь ласка!

Наші вигідні тарифи доведуть, що дешевий хостинг ви ще не знали!

Хвилинна справа: виберіть конфігурацію, оплатіть і CMS на VPS готова.
Money Back - 30 днів!

Банківськими картами, електронною валютою, через термінали Qiwi, Webmoney, PayPal, Новоплат і ін.

Задайте питання в службу підтримки 24/7/365

Знайдіть відповіді в нашій базі і познайомтеся з рекомендаціями

Пропозиція від 8host.com

Налаштування ретрансляції пошти за допомогою postfix і mailgun в ubuntu

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

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

Існує два типи ретрансляції: відкрита і закрита. Відкрита ретрансляція направляє пошту з внутрішнього сервера і зовнішніх ресурсів. Такий тип ретрансляції можуть використовувати в своїх цілях спам-боти. Закрита ретрансляція передбачає передачу тільки пошти, згенерованої на внутрішньому сервері і в закритій мережі.

Для ретрансляції пошти можна використовувати будь-який зовнішній SMTP-сервер. Сервер Mailgun має безліч переваг над іншими SMTP-серверами. Цей сервіс можна використовувати безкоштовно до 10000 листів в місяць, він дуже надійний. Крім того, він дозволяє відправляти пошту з окремого домену, а це забезпечує додатковий рівень безпеки і рятує ваші листи від чорних списків.

вимоги

1: Обліковий запис Mailgun

Ви побачите, що сервіс Mailgun створив для вас домен.

Не використовуйте цей домен. Краще відразу створіть піддомен для Mailgun. Для цього натисніть на Add New Domain. Виберіть піддомен для сервісу, наприклад mailgun.example.com або bulkemail.example.com.

Примітка. У керівництві буде використовуватися піддомен mg.example1.com.

Після цього новий піддомен з'явиться в списку доменів на сторінці Domains. Відкрийте сторінку поддомена, для цього клікніть по ньому на сторінці Domains. Ви побачите три набори DNS-записів.

Додайте ці записи в налаштування домену на сервері. Для цього використовується панель управління хостинг-провайдера.

Вам знадобляться записи для відправки і відстеження пошти (розділи Sending і Tracking). Записи для отримання пошти (Receiving) створювати не обов'язково. Чи не закривайте цю сторінку: дані, зазначені на ній потрібно буде копіювати в налаштування DNS на сервері.

2: Налаштування DNS-записів

Отже, вам потрібно створити два записи TXT і запис CNAME. Опціонально можна додати запис MX.

Створіть всі необхідні записи, використовуючи надану сервісом Mailgun інформацію.

Щоб створити CNAME:

  • Name: email
  • Hostname: mailgun.org. (Обов'язково поставте крапку в кінці).

Щоб створити першу запісьTXT:

  • Name: @
  • Text: введіть текст для першого запису TXT, наданий Mailgun, і візьміть його в подвійні лапки. Наприклад: «v = spf1 include: mailgun.org

Щоб створити другу запісьTXT:

  • Name: вкажіть виділену жирним частину імені хоста зі сторінки Mailgun. Наприклад: mallo._domainkey.
  • Text: скопіюйте значення зі сторінки Mailgun і візьміть його в подвійні лапки. Наприклад: «k = rsa; p = MIGfMA0G ... AQAB ».

Тепер Mailgun повинен підтвердити ваш домен, перш ніж ви зможете продовжити. Ви можете почекати, поки оновляться записи DNS, або ж повернутися на сторінку Mailgun, знайти розділ Domain Verification DNS і натиснути Check DNS Records Now. Після перевірки записів поруч з ними з'являться зелені галочки.

Оновлення записів може зайняти деякий час (від декількох хвилин до декількох годин).

Примітка. Якщо сервіс Mailgun не підтвердив ваші записи, перевірте введені вами значення і переконайтеся, що ви правильно вказали всі дані, надані Mailgun. Записи TXT потрібно брати в подвійні лапки. Ім'я першого запису TXT - @, але не hostname зі сторінки Mailgun.

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

Для установки Postfix можна використовувати вбудований менеджер пакетів.

Встановити з'єднання із сервером як користувач з доступом до sudo:

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

Налаштуйте Postfix як ретранслятор пошти:

sudo debconf-set-selections <<<"postfix postfix/main_mailer_type select Satellite system"

Вкажіть ім'я хоста сервера (воно буде використовуватися в якості назву поштового сервера):

sudo debconf-set-selections <<<"postfix postfix/mailname string $HOSTNAME"

Налаштуйте Postfix для використання SMTP-сервера Mailgun.

sudo debconf-set-selections <<<"postfix postfix/relayhost string smtp.mailgun.org"

Тепер можна почати установку Postfix.

sudo apt -y install postfix

Щоб сервіс Postfix міг підключитися до Mailgun, потрібно створити файл з обліковими даними і додати в нього скопійоване ім'я і пароль Mailgun (розділ 2).

Примітка. Кожен піддомен Mailgun використовує унікальні облікові дані. Більше інформації можна знайти в документації Mailgun.

Створіть і відредагуйте файл для облікових даних:

sudo nano / etc / postfix / sasl_passwd

Додайте в нього рядок:

Обмежте доступ до файлу. Право на читання і запис можуть бути тільки у користувача root. Використовуйте команду postmap, щоб оновити параметри Postfix.

sudo chmod 600 / etc / postfix / sasl_passwd
sudo postmap / etc / postfix / sasl_passwd

Заблокуйте анонімний доступ до сервера і вкажіть файл з обліковими даними для Mailgun. Відкрийте конфігурації Postfix:

sudo nano /etc/postfix/main.cf

І додайте в файл такі рядки:

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash: / etc / postfix / sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = AUTH LOGIN

Примітка. Postfix пропонує безліч налаштувань безпеки, які блокую доступ спам-ботів (більше інформації - за цим посиланням). Зокрема, ці два рядки обмежують використання ретрансляції пошти до локальної мережі і зазначених вам SASL-користувачів:

smtpd_relay_restrictions = permit_mynetworks
permit_sasl_authenticated defer_unauth_destination

sudo systmctl restart postfix

Також потрібно переконатися, що всі вхідні порти SMTP заблоковані. Перевірте стан брандмауера:

sudo ufw status
To Action From
-- ------ ----
22 ALLOW IN Anywhere
22 (v6) ALLOW IN Anywhere (v6)

У стовпці To не повинно бути портів 25, 465 і 587. Ці порти використовуються SMTP. На них не повинен надходити вхідний трафік. Якщо ж ці порти відкриті в брандмауері, їх потрібно заблокувати.

Зазвичай при налаштуванні SMTP на Postfix ім'я хоста сервера має співпадати з FQDN. Якщо це так, пропустіть розділ 4.

4: Налаштування відображення доменів

Оскільки для настройки SMTP використовується Mailgun, а не Postfix, FQDN не повинен збігатися з ім'ям хоста. Наприклад, сервери баз даних або моніторингові сервери зазвичай взагалі не мають доменів.

В даному випадку поштова обліковий запис сервера Linux повинна використовувати імена MailGun.

Створіть новий файл / etc / postfix / generic і внесіть необхідні зміни.

sudo nano / etc / postfix / generic

Додайте цей рядок, яка зв'яже такі імена користувачів:

Примітка. Імена sender і 8host замініть своїми даними. Особливу увагу потрібно приділити елементу your_subdomain_for_mailgun: його потрібно замінити піддоменом Mailgun (розділ 1).

Щоб вказати кілька користувачів, додайте в файл новий рядки з таким же синтаксисом. Тепер додайте ці правила відображення в Postfix за допомогою команди postmap:

sudo postmap / etc / postfix / generic

Відредагуйте конфігураційний файл Postfix:

sudo nano /etc/postfix/main.cf

В кінець файлу додайте рядок:

sudo systemctl restart postfix

Тепер можна протестувати ретрансляцію пошти.

5: Тестування ретрансляції пошти

sudo apt -y install mailutils

mail -s "Test mail" your_email_address <<<"A test message using Mailgun"

6: Пошук та усунення несправностей

Під час налаштування ретрансляції можна допустити безліч помилок. Розглянемо найзагальніші з них.

По-перше, потрібно переконатися, що Mailgun підтвердив DNS-записи. Нічого не буде працювати до тих пір, поки сервіс не прийме нові записи. Відкрийте інтерфейс користувача Mailgun і переконайтеся, що записи прийняті.

Дізнатися більше про помилки можна в логах поштового сервісу. Спочатку перевірте /var/log/mail.log.

tail -f /var/log/mail.log

> Nov 1 16:07:45 cart-+1268 postfix / smtp [30082]: 0E8062038A: to =, relay = smtp.mailgun.org [173.203.37.114]: 25, delay = 2.3, delays = 0.02 / 0 / 2.3 / 0, dsn = 4.7.0, status = deferred (SASL authentication failed; server smtp.mailgun.org [ 173.203.37.114] said: 535 5.7.0 Mailgun is not loving your login or password)

Якщо ім'я хоста сервера не збігається з FQDN, переконайтеся, що ви правильно виконали розділ 4.

висновок

Якщо у вас є додаткові сервери, і ви хотіли б налаштувати їх для відправки пошти, потрібно просто повторити розділи 3 і 4 на кожному такому сервері. Ви можете повторно використовувати домен MailGun на всіх цих серверах.

Більше інформації про розсилку можна знайти тут.

Щоб додати ще один домен, виконайте розділи 1 і 2 (для кожного домена) і відредагуйте файли / etc / postfix / sasl_passwd і / etc / postfix / generic. Базова настройка Postfix залишається без змін.

Схожі статті