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

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

УВАГА: Порт 25 закритий для підключення на наших віртуальних машинах за замовчуванням. Якщо ви хочете відкрити порт 25, придбайте Mail Bridge і налаштуйте його у Starlight™ 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-ключ:


8. У відкритому меню введіть назву API-ключа, встановіть для нього права доступу «Full Access» і збережіть налаштування:

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

Метод 1: Перевірка одного відправника

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

УВАГА: Перевірка одного відправника рекомендується лише для тестування.

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

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

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

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

Метод 2: Автентифікація домену (рекомендовано)

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

На наступній сторінці автентифікуйте ім'я вашого домену, відповівши на питання з першого та другого кроків, і натисніть «Next»:

УВАГА: На скріншоті ми обрали відповідь «No» на друге питання. Однак ця відповідь не є обов'язковою.

Після цього введіть потрібне ім'я домену, за потреби встановіть додаткові налаштування та натисніть «Next»:

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

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

УВАГА: Пропагація 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-ключ як пароль) у окремому файлі /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  # для Ubuntu
dnf install cyrus-sasl-plain      # для Almalinux/CloudLinux
yum install cyrus-sasl-plain       # для CentOS

Також деяким інстансам може знадобитися MySQL Driver для Dovecot для налаштування MySQL Backend для автентифікації:

apt install dovecot-sqlite dovecot-mysql   # для Ubuntu
dnf install dovecot-mysql               # для Almalinux/CloudLinux
yum install dovecot-mysql                # для CentOS

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

systemctl restart dovecot

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

sendmail -f YOUR_LOCAL_EMAIL -v DESTINATION_EMAIL

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

Далі введіть текст повідомлення і натисніть Ctrl+D для надсилання.

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

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