Як налаштувати SendGrid SMTP на CyberPanel

SendGrid — це хмарний SMTP-сервіс, який забезпечує доставку електронної пошти без потреби керувати поштовими серверами.

NB:Порт 25 закритий для підключення на наших VM за замовчуванням. Якщо ви хочете відкрити порт 25, придбайте Mail Bridge і налаштуйте його у VPS Manager.

Щоб налаштувати електронну пошту SendGrid у WHM, скористайтеся цим посібником.

Щоб налаштувати сервіс SendGrid і Email System для вашого доменного імені на боці CyberPanel, виконайте наведені нижче кроки:

1. Зареєструйтеся в SendGrid:

Після заповнення всієї контактної інформації натисніть “Continue”.

2. Вас буде перенаправлено на нову вкладку в браузері для підтвердження вашого облікового запису електронної пошти. Скопіюйте код підтвердження, надісланий на вашу електронну адресу, введіть його в полі “Code” і натисніть “Verify”:

3. Підтвердьте свій номер телефону, ввівши код підтвердження, надісланий на нього, у полі “Enter certification code” і натиснувши “Verify”:

4. Потім вам буде надано код відновлення, який стане в пригоді у випадках втрати телефону або відсутності доступу до пристрою для підтвердження. Скопіюйте код, збережіть його та натисніть “Continue”. Також є можливість завантажити код як файл:

5. На наступній сторінці заповніть свою контактну інформацію та натисніть “Next”:


6. На наступній сторінці, будь ласка, відкрийте свою панель керування SendGrid:

7. Коли ви опинитеся там, перейдіть до меню “Settings” >> “API Keys”, щоб створити новий API Key:


8. У відкритому меню введіть назву API Key, установіть для дозволів API Key значення “Full Access” і збережіть конфігурацію:

9. Налаштуйте автентифікацію відправника SendGrid. Це можна зробити двома способами:

Спосіб 1: Single Sender Verification

Single Sender Verification — це швидкий метод перевірки, який дає змогу додати авторизованого одержувача (одну або кілька адрес електронної пошти) під час використання облікового запису SendGrid. Його можна використовувати, наприклад, якщо ви хочете надсилати електронні листи з john.doe@example.com, доданого на сервері cPanel, на jane.doe@gmail.com. Для цього адресу jane.doe@gmail.com потрібно додати до Single Sender Verification у SendGrid.

NB: Single Sender Verification рекомендується лише для тестування.

NB: Ви можете надсилати листи лише з адреси, яку ви підтвердили, а не з будь-якої адреси в автентифікованому домені.

Щоб налаштувати Single Sender Verification, у панелі керування SendGrid перейдіть до “Settings” >> меню “Sender Authentication” >> натисніть кнопку “Verify a Single Sender”:

На наступній сторінці створіть відправника, заповнивши контактну інформацію, і натисніть “Create”, щоб усе зберегти:

Після цього ви отримаєте лист для підтвердження від SendGrid. Щоб підтвердити додавання адреси електронної пошти, натисніть у листі кнопку “Verify Single Sender”:

Спосіб 2: Domain Authentication (рекомендовано)

Натисніть  “Settings” >> перейдіть до меню “Sender Authentication” >> у полі “Domain Authentication” натисніть “Authenticate Your Domain”:

На наступній сторінці автентифікуйте своє доменне ім’я, відповівши на запитання з першого та другого кроків, а потім натисніть “Next”:

NB: На знімку екрана ми вибрали відповідь “No” на друге запитання. Однак ця відповідь необов’язкова.

Після цього введіть потрібне доменне ім’я, за потреби встановіть будь-які додаткові налаштування та натисніть “Next”:

Тепер необхідно підтвердити доменне ім’я, налаштувавши відповідні DNS-записи CNAME і TXT.

Щойно DNS-записи для домену буде створено, підтвердьте їх додавання на кроці 2, установивши прапорець “I’ve added these records”, і натисніть нижче “Verify”:

NB: Поширення DNS-записів може тривати до 24-48 годин.

10. Наступним кроком буде налаштування параметрів SMTP для сервера CyberPanel.

На жаль, CyberPanel поки що не пропонує користувачам спеціальний інтерфейс для налаштування SMTP. SendGrid потрібно налаштовувати через SSH-термінал. 

  • Спочатку увійдіть на свій сервер як root:

ssh root@SERVER_IP_ADDRESS -p PORT


Де SERVER_IP_ADDRESS — це IP-адреса вашого сервера, а PORT — це порт SSH-підключення (за замовчуванням це 22022)

  • Відкрийте файл /etc/postfix/main.cf у текстовому редакторі:

nano /etc/postfix/main.cf
або
vi /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_tls_security_level = encrypt
header_size_limit = 4096000
relayhost = [smtp.sendgrid.net]:587

  • Тепер вам потрібно вказати свої облікові дані (використовуйте apikey як ім’я користувача та API Key як пароль) в окремому файлі /etc/postfix/sasl_passwd (ймовірно, вам потрібно буде його створити):

echo “[smtp.sendgrid.net]:587 apikey:YOUR_SENDGRID_API_KEY” > /etc/postfix/sasl_passwd

Де YOUR_SENDGRID_API_KEY — це ключ, який ви створили на кроці 8.

  • Далі переконайтеся, що файл має обмежені права на читання та запис лише для root, і використайте команду postmap, щоб оновити хеш-таблиці Postfix для використання цього нового файлу:

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

  • Нарешті перезапустіть Postfix:

systemctl restart postfix

  • Установіть плагін SASL на своєму сервері:

apt-get install libsasl2-modules  # for Ubuntu
dnf install cyrus-sasl-plain      # for Almalinux/CloudLinux
yum install cyrus-sasl-plain       # for CentOS

Крім того, у деяких випадках може знадобитися драйвер MySQL для Dovecot, щоб налаштувати бекенд MySQL для автентифікації:

apt install dovecot-sqlite dovecot-mysql   # for Ubuntu
dnf install dovecot-mysql               # for Almalinux/CloudLinux
yum install dovecot-mysql                # for CentOS

  • Після цього перезапустіть Dovecot:

systemctl restart dovecot

  • Тепер ви можете перевірити, чи пересилається електронний лист через SendGrid:

sendmail -f YOUR_LOCAL_EMAIL -v DESTINATION_EMAIL

Де YOUR_LOCAL_EMAIL — це обліковий запис електронної пошти, який ви створили у своєму обліковому записі CyberPanel, а DESTINATION_EMAIL — це адреса одержувача, на яку надсилається тестовий лист.

Потім введіть текст повідомлення та натисніть Ctrl+D, щоб надіслати його.

Або скористайтеся Webmail у своєму обліковому записі CyberPanel, щоб надіслати звідти тестовий лист.

Потрібна дійсна адреса електронної пошти