Jak skonfigurować SendGrid SMTP na CyberPanel

SendGrid to oparta na chmurze usługa SMTP, która umożliwia dostarczanie wiadomości e-mail bez konieczności zarządzania serwerami pocztowymi.

Uwaga:Port 25 jest domyślnie zamknięty dla połączeń na naszych maszynach wirtualnych domyślnie. Jeśli chcesz otworzyć port 25, kup Mail Bridge i skonfiguruj go w VPS Manager.

Aby skonfigurować pocztę SendGrid w WHM, skorzystaj z tego przewodnika.

Wykonaj poniższe kroki, aby skonfigurować usługę SendGrid i system poczty e-mail dla swojej nazwy domeny po stronie CyberPanel:

1. Zarejestruj się w SendGrid:

Po wypełnieniu wszystkich danych kontaktowych kliknij „Continue”.

2. Zostaniesz przekierowany do nowej karty w przeglądarce, aby zweryfikować swoje konto e-mail. Skopiuj kod weryfikacyjny wysłany na Twoje konto e-mail, wpisz go w polu „Code” i kliknij „Verify”:

3. Zweryfikuj swój numer telefonu, wpisując kod weryfikacyjny wysłany na ten numer w polu „Enter certification code”, a następnie kliknij „Verify”:

4. Następnie otrzymasz kod odzyskiwania, który jest pomocny w przypadku zgubienia telefonu lub braku dostępu do urządzenia weryfikacyjnego. Skopiuj kod, zapisz go i kliknij „Continue”. Dostępna jest również opcja pobrania kodu jako pliku:

5. Na następnej stronie wypełnij swoje dane kontaktowe i kliknij „Next”:


6. Na następnej stronie otwórz panel SendGrid:

7. Gdy już tam będziesz, przejdź do menu „Settings” >> „API Keys”, aby utworzyć nowy klucz API:


8. W otwartym menu wpisz nazwę klucza API, ustaw uprawnienia klucza API na opcję „Full Access” i zapisz konfigurację:

9. Skonfiguruj uwierzytelnianie nadawcy SendGrid. Można to zrobić na dwa sposoby:

Metoda 1: weryfikacja pojedynczego nadawcy

Weryfikacja pojedynczego nadawcy — to szybka metoda weryfikacji, która umożliwia dodanie autoryzowanego odbiorcy (jednego lub kilku adresów e-mail) podczas korzystania z konta SendGrid. Można jej użyć na przykład wtedy, gdy chcesz wysyłać wiadomości e-mail z adresu john.doe@example.com, który został dodany na serwerze cPanel, do jane.doe@gmail.com. W tym celu adres e-mail jane.doe@gmail.com powinien zostać dodany do Single Sender Verification w SendGrid.

Uwaga: Single Sender Verification jest zalecane wyłącznie do testów.

Uwaga: możesz wysyłać wiadomości tylko z adresu, który zweryfikujesz, a nie z dowolnego adresu w uwierzytelnionej domenie.

Aby skonfigurować Single Sender Verification, przejdź w panelu SendGrid do „Settings” >> menu „Sender Authentication” >> kliknij przycisk „Verify a Single Sender”:

Na następnej stronie utwórz nadawcę, wypełniając dane kontaktowe, a następnie kliknij „Create”, aby wszystko zapisać:

Następnie otrzymasz wiadomość weryfikacyjną od SendGrid. Aby potwierdzić dodanie adresu e-mail, kliknij przycisk „Verify Single Sender” w wiadomości e-mail:

Metoda 2: uwierzytelnianie domeny (zalecane)

Kliknij  „Settings” >> przejdź do menu „Sender Authentication” >> w sekcji „Domain Authentication” kliknij „Authenticate Your Domain”:

Na następnej stronie uwierzytelnij nazwę domeny, odpowiadając na pytania z pierwszego i drugiego kroku, a następnie kliknij „Next”:

Uwaga: na zrzucie ekranu wybraliśmy odpowiedź „No” na drugie pytanie. Ta odpowiedź jest jednak opcjonalna.

Następnie wpisz wymaganą nazwę domeny, ustaw dodatkowe opcje, jeśli to konieczne, i kliknij „Next”:

Teraz konieczne jest zweryfikowanie nazwy domeny przez skonfigurowanie odpowiednich rekordów DNS CNAME i TXT.

Po utworzeniu rekordów DNS dla domeny potwierdź ich dodanie w kroku 2, zaznaczając pole „I’ve added these records”, a następnie kliknij poniżej „Verify”:

Uwaga: propagacja rekordów DNS może potrwać do 24–48 godzin.

10. Następnym krokiem będzie skonfigurowanie ustawień SMTP dla serwera CyberPanel.

Niestety CyberPanel nie oferuje jeszcze użytkownikom specjalnego interfejsu do konfiguracji SMTP. SendGrid należy skonfigurować przez terminal SSH. 

  • Najpierw zaloguj się na serwer jako root:

ssh root@SERVER_IP_ADDRESS -p PORT


Gdzie SERVER_IP_ADDRESS to adres IP Twojego serwera, a PORT to port połączenia SSH (domyślnie jest to 22022)

  • Otwórz plik /etc/postfix/main.cf w edytorze tekstu:

nano /etc/postfix/main.cf
lub
vi /etc/postfix/main.cf

  • Dodaj następujące linie na końcu pliku:

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

  • Teraz musisz podać swoje dane logowania (użyj apikey jako nazwy użytkownika i klucza API jako hasła) w osobnym pliku /etc/postfix/sasl_passwd (prawdopodobnie trzeba będzie go utworzyć):

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

Gdzie YOUR_SENDGRID_API_KEY to klucz utworzony w kroku 8.

  • Następnie upewnij się, że plik ma ograniczone uprawnienia odczytu i zapisu tylko dla użytkownika root, i użyj polecenia postmap, aby zaktualizować tablice hash Postfixa tak, aby korzystały z tego nowego pliku:

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

  • Na koniec uruchom ponownie Postfix:

systemctl restart postfix

  • Zainstaluj wtyczkę SASL na swoim serwerze:

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

Ponadto niektóre instancje mogą wymagać sterownika MySQL dla Dovecot, aby skonfigurować backend MySQL do uwierzytelniania:

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

  • Następnie uruchom ponownie Dovecot:

systemctl restart dovecot

  • Teraz możesz sprawdzić, czy wiadomość e-mail jest przekazywana przez SendGrid:

sendmail -f YOUR_LOCAL_EMAIL -v DESTINATION_EMAIL

Gdzie YOUR_LOCAL_EMAIL to konto e-mail utworzone na Twoim koncie CyberPanel, a DESTINATION_EMAIL to adres e-mail odbiorcy, na który wysyłana jest wiadomość testowa.

Następnie wpisz treść wiadomości i naciśnij Ctrl+D, aby ją wysłać.

Alternatywnie użyj Webmaila na swoim koncie CyberPanel, aby stamtąd wysłać wiadomość testową.

Wymagany jest prawidłowy adres e-mail