Wyszukiwanie w witrynie

Jak łatwo skonfigurować serwer pocztowy na Debianie 12 Bookworm za pomocą iRedMail


Konfigurowanie od podstaw własnego serwera poczty e-mail w systemie Linux jest żmudnym procesem i może sprawić ból tyłkowi, jeśli nie jesteś wykwalifikowanym administratorem serwera. W tym samouczku dowiesz się, jak używać iRedMail do szybkiego skonfigurowania w pełni funkcjonalnego serwera pocztowego w Debianie 12, oszczędzając mnóstwo czasu i bólu głowy.

Co to jest iRedMail?

iRedMail to skrypt powłoki, który automatycznie instaluje i konfiguruje wszystkie niezbędne komponenty serwera pocztowego na serwerze Linux/BSD, eliminując w ten sposób ręczną instalację i konfigurację. Dzięki iRedMail możesz łatwo tworzyć nieograniczoną liczbę skrzynek pocztowych i nieograniczoną liczbę domen pocztowych w internetowym panelu administracyjnym. Skrzynki pocztowe mogą być przechowywane w bazie danych MariaDB/MySQL, PostreSQL lub OpenLDAP. Poniżej znajduje się lista oprogramowania typu open source, które zostanie automatycznie zainstalowane i skonfigurowane przez iRedMail.

  • Serwer SMTP Postfixa
  • Serwer IMAP Dovecot
  • Serwer WWW Nginx do obsługi panelu administracyjnego i poczty internetowej
  • OpenLDAP, MySQL/MariaDB lub PostgreSQL do przechowywania informacji o użytkowniku
  • Amavised - nowość do podpisywania i weryfikacji DKIM
  • SpamAssassin do ochrony przed spamem
  • ClamAV dla antywirusa
  • Poczta internetowa Roundcube
  • Oprogramowanie do pracy grupowej SOGo, udostępniające pocztę internetową, kalendarz (CalDAV), kontakty (CardDAV), zadania i usługi ActiveSync.
  • Fail2ban do ochrony SSH
  • menedżer listy mailingowej mlmmj
  • Monitorowanie serwera Netdata
  • Serwer zasad iRedAPD Postfix dla szarej listy

Krok 1: Wybierz odpowiedniego dostawcę usług hostingowych i kup nazwę domeny

Aby skonfigurować w pełni funkcjonalny serwer pocztowy z iRedMail, potrzebujesz serwera z co najmniej 3 GB RAM, ponieważ po instalacji Twój serwer będzie używał więcej niż 2 GB RAM.

Zdecydowanie zaleca się zainstalowanie iRedMail na czystej instalacji Debian 12 serwera.

Ten samouczek jest wykonywany na Kamatera VPS (wirtualny serwer prywatny) za 9 USD miesięcznie z 1 procesorem i 3 GB pamięci RAM. Oferują 30-dniowy bezpłatny okres próbny.

Kamatera jest bardzo dobrą opcją do uruchomienia serwera pocztowego, ponieważ

  • Nie blokują portu 25, dzięki czemu możesz wysyłać nieograniczoną liczbę e-maili (e-maile transakcyjne i biuletyny) bez wydawania pieniędzy na usługę przekaźnika SMTP. Kamatera nie ma żadnych limitów SMTP. Możesz wysłać milion e-maili dziennie.
  • Adres IP nie znajduje się na żadnej czarnej liście e-mailowej. (Przynajmniej tak jest w moim przypadku. Wybrałem centrum danych w Dallas.) Zdecydowanie nie chcesz znaleźć się na budzącej strach czarnej liście adresów IP programu Microsoft Outlook ani na czarnej liście spamerów. Niektóre czarne listy blokują cały zakres adresów IP i nie ma możliwości usunięcia swojego adresu IP z tego rodzaju czarnej listy.
  • Możesz edytować rekord PTR, aby poprawić dostarczalność wiadomości e-mail.
  • Umożliwiają wysyłanie biuletynów do subskrybentów poczty e-mail bez żadnych limitów godzinnych ani dziennych.
  • Możesz zamówić wiele adresów IP dla jednego serwera. Jest to bardzo przydatne dla osób, które muszą wysyłać dużą liczbę e-maili. Możesz rozłożyć ruch e-mailowy na wiele adresów IP, aby uzyskać lepszą dostarczalność e-maili.

Inni dostawcy VPS, np. DigitalOcean, blokują port 25. DigitalOcean nie odblokuje portu 25, więc będziesz musiał skonfigurować przekaźnik SMTP, aby ominąć blokowanie, co może kosztować dodatkowe pieniądze. Jeśli korzystasz z Vultr VPS, port 25 jest domyślnie blokowany. Mogą je odblokować, jeśli otworzysz zgłoszenie do pomocy technicznej, ale mogą je ponownie zablokować w dowolnym momencie, jeśli uznają, że wysyłanie wiadomości e-mail jest niedozwolone. Vultr faktycznie może go ponownie zablokować, jeśli używasz ich serwerów do wysyłania biuletynów.

Przejdź do witryny Kamatera, aby utworzyć konto, a następnie utwórz serwer w panelu konta.

Zalecam skorzystanie z samouczka, do którego link znajduje się poniżej, aby poprawnie skonfigurować serwer Linux VPS na Kamatera.

  • Jak utworzyć serwer VPS z systemem Linux na Kamatera

Po utworzeniu serwera Kamatera wyśle Ci wiadomość e-mail zawierającą dane logowania SSH serwera. Aby zalogować się na swój serwer, korzystasz z klienta SSH. Jeśli używasz systemu Linux lub macOS na swoim komputerze, po prostu otwórz okno terminala i uruchom następujące polecenie, aby zalogować się na serwer. Zastąp 12.34.56.78 adresem IP swojego serwera.

ssh [email 

Zostaniesz poproszony o podanie hasła.

Potrzebujesz także nazwy domeny. Zarejestrowałem swoją nazwę domeny w NameCheap, ponieważ cena jest niska, a oni zapewniają bezpłatną ochronę prywatności Whois na całe życie.

Krok 2: Tworzenie rekordu MX DNS

Rekord MX określa, który host lub hosty obsługują pocztę e-mail dla określonej nazwy domeny. Na przykład host obsługujący e-maile dla linux-terminal.com to mail.linux-terminal.com. Jeśli ktoś posiadający konto Gmail wyśle wiadomość e-mail na adres [email , serwer Gmail zapyta o rekord MX witryny linux-terminal.com. Kiedy dowiaduje się, że mail.linux-terminal.com jest odpowiedzialny za akceptowanie poczty e-mail, następnie wysyła zapytanie do rekordu A mail.linux-terminal.com, aby uzyskać adres IP, a tym samym e-mail może zostać dostarczony.

Możesz zalogować się na stronie rejestratora swojej domeny (takiej jak NameCheap), aby utworzyć rekordy DNS.

W menedżerze DNS utwórz rekord MX dla swojej nazwy domeny. Wpisz @ w polu Nazwa, aby reprezentować główną nazwę domeny, a następnie wpisz mail.twoja-domena.com w polu Wartość.

Uwaga: nazwa hosta dla rekordu MX nie może być aliasem innej nazwy. Ponadto zdecydowanie zaleca się używanie nazw hostów zamiast samych adresów IP dla rekordu MX.

Twój menedżer DNS może wymagać wprowadzenia wartości preferencji (czyli wartości priorytetu). Może to być dowolna liczba z zakresu od 0 do 65 356. Mała liczba ma wyższy priorytet niż duża liczba. Zalecane jest ustawienie wartości 0, aby ten serwer pocztowy miał najwyższy priorytet przy odbieraniu wiadomości e-mail. Po utworzeniu rekordu MX musisz także utworzyć rekord A dla mail.your-domain.com , aby można go było przetłumaczyć na adres IP. Jeśli Twój serwer korzysta z adresu IPv6, pamiętaj o dodaniu rekordu AAAA.

Wskazówka: Jeśli korzystasz z usługi Cloudflare DNS, nie powinieneś włączać funkcji CDN podczas tworzenia rekordu A dla poczta.twoja-domena.com. Cloudflare nie obsługuje proxy SMTP.

Krok 3: Konfiguracja nazwy hosta

Zaloguj się do swojego serwera przez SSH, a następnie uruchom następujące polecenie, aby zaktualizować istniejące pakiety oprogramowania.

sudo apt update;sudo apt upgrade

Zdecydowanie zalecam utworzenie użytkownika sudo do zarządzania serwerem zamiast używania domyślnego użytkownika root. Uruchom następujące polecenie, aby utworzyć użytkownika. Zamień nazwa użytkownika na preferowaną nazwę użytkownika.

adduser username

Następnie dodaj użytkownika do grupy sudo.

adduser username sudo

Następnie przełącz się na nowego użytkownika.

su - username

Następnie ustaw w pełni kwalifikowaną nazwę domeny (FQDN) dla swojego serwera za pomocą następującego polecenia.

sudo hostnamectl set-hostname mail.your-domain.com

Musimy także zaktualizować plik /etc/hosts za pomocą edytora tekstu wiersza poleceń, takiego jak Nano.

sudo nano /etc/hosts

Edytuj jak poniżej. (Użyj klawiszy strzałek, aby przesunąć kursor w pliku.)

127.0.0.1       mail.your-domain.com localhost

Zapisz i zamknij plik. (Aby zapisać plik w edytorze tekstu Nano, naciśnij Ctrl+O, a następnie naciśnij Enter, aby potwierdzić. Aby zamknąć plik, naciśnij Ctrl+X.)

Aby zobaczyć zmiany, wyloguj się i zaloguj ponownie, a następnie uruchom następujące polecenie, aby zobaczyć swoją nazwę hosta.

hostname -f

Krok 4: Konfigurowanie serwera pocztowego w Debianie 12 za pomocą iRedMail

Uruchom następujące polecenia, aby pobrać najnowszą wersję instalatora skryptu iRedMail z repozytorium Github.

wget https://github.com/iredmail/iRedMail/archive/1.6.4.tar.gz

Wyodrębnij zarchiwizowany plik.

tar xvf 1.6.4.tar.gz

Następnie przejdź do nowo utworzonego katalogu.

cd iRedMail-1.6.4/

Dodaj uprawnienia wykonywalne do skryptu iRedMail.sh.

chmod +x iRedMail.sh

Następnie uruchom skrypt Bash z uprawnieniami Sudo.

sudo bash iRedMail.sh

Pojawi się kreator konfiguracji serwera pocztowego. Użyj klawisza Tab, aby wybrać Tak i naciśnij Enter.

Na następnym ekranie zostaniesz poproszony o wybranie ścieżki przechowywania poczty. Możesz użyć domyślnego /var/vmail, więc po prostu naciśnij Enter.

Następnie wybierz, czy chcesz uruchomić serwer WWW. Zdecydowanie zaleca się uruchomienie serwera WWW, ponieważ do dodawania kont e-mail potrzebny jest internetowy panel administracyjny. Umożliwia także dostęp do poczty internetowej Roundcube. Domyślnie wybrany jest serwer WWW Nginx, więc możesz po prostu nacisnąć Enter. (Gwiazdka oznacza, że element został wybrany.)

Następnie wybierz zaplecze pamięci masowej dla kont e-mail. Wybierz ten, który znasz. W tym samouczku wybrano MariaDB. Naciśnij klawisz strzałki w górę i w dół, a następnie naciśnij klawisz spacji, aby wybrać.

Jeśli wybrałeś MariaDB lub MySQL, będziesz musiał ustawić hasło roota MySQL.

Następnie wprowadź swoją pierwszą domenę pocztową. Możesz później dodać dodatkowe domeny pocztowe w internetowym panelu administracyjnym. W tym samouczku założono, że chcesz mieć konto e-mail typu [chronione e-mailem]. W takim przypadku musisz wpisać tutaj twoja-domena.com, bez subdomeny. Nie naciskaj spacji po nazwie domeny. Myślę, że iRedMail skopiuje znak spacji wraz z nazwą domeny, co może spowodować niepowodzenie instalacji.

Następnie ustaw hasło dla administratora domeny pocztowej.

Wybierz opcjonalne komponenty. Domyślnie wybrane są 4 pozycje. Jeśli chcesz mieć oprogramowanie do pracy grupowej SOGo, wybierz je i naciśnij Enter.

Teraz możesz przejrzeć swoje konfiguracje. Wpisz Y, aby rozpocząć instalację wszystkich komponentów serwera pocztowego.

Na koniec instalacji wybierz y, aby użyć reguł zapory dostarczonych przez iRedMail i ponownie uruchomić zaporę.

Teraz instalacja iRedMail została zakończona. Zostaniesz powiadomiony o adresie URL poczty internetowej, oprogramowania do pracy grupowej SOGo i panelu administracyjnego sieci WWW oraz danych logowania. Plik iRedMail.tips zawiera ważne informacje o serwerze iRedMail.

Zrestartuj serwer Debian 12.

sudo shutdown -r now

Gdy serwer będzie ponownie online, możesz odwiedzić internetowy panel administracyjny.

https://mail.your-domain.com/iredadmin/

Pamiętaj, że w powyższym adresie URL podkatalog umożliwiający dostęp do panelu administracyjnego to /iredadmin/, a nie /iredmail/. A ponieważ korzysta z certyfikatu TLS z podpisem własnym, musisz dodać wyjątek bezpieczeństwa w swojej przeglądarce internetowej.

Krok 5: Instalacja certyfikatu Let’s Encrypt TLS

Ponieważ serwer poczty korzysta z certyfikatu TLS z podpisem własnym, zarówno użytkownicy komputerów stacjonarnych, jak i użytkownicy klientów poczty internetowej zobaczą ostrzeżenie. Aby to naprawić, możemy uzyskać i zainstalować bezpłatny certyfikat Let's Encrypt TLS.

Uzyskanie Certyfikatu

Najpierw zaloguj się ponownie na swój serwer przez SSH i uruchom następujące polecenie, aby zainstalować klienta Let's Encrypt (certbot) na Debianie 12.

sudo apt install certbot

iRedMail skonfigurował już ustawienia TLS na domyślnym wirtualnym hoście Nginx, więc tutaj polecam użycie wtyczki webroot zamiast wtyczki nginx, aby uzyskać certyfikat. Uruchom następujące polecenie. Zastąp czerwony tekst rzeczywistymi danymi.

sudo certbot certonly --webroot --agree-tos --email [email  -d mail.your-domain.com -w /var/www/html/

Gdy pojawi się pytanie, czy chcesz otrzymywać wiadomości od EFF, możesz wybrać Nie.

Jeśli wszystko poszło dobrze, zobaczysz następujący tekst wskazujący, że pomyślnie uzyskałeś certyfikat TLS. Twój certyfikat i łańcuch zostały zapisane w katalogu /etc/letsencrypt/live/mail.your-domain.com/.

Brak uzyskania certyfikatu TLS

Jeśli certbotowi nie udało się uzyskać certyfikatu TLS, może to być spowodowane tym, że Twoje rekordy DNS nie są propagowane w Internecie. W zależności od rejestratora domeny, którego używasz, propagacja rekordu DNS może nastąpić natychmiast lub może zająć do 24 godzin. Możesz przejść do https://dnsmap.io, wprowadzić nazwę hosta swojego serwera pocztowego (mail.your-domain.com), aby sprawdzić propagację DNS.

Jeśli certbotowi nie udało się uzyskać certyfikatu i wyświetlił się następujący komunikat:

Failed authorization procedure. mail.linux-terminal.com (http-01): urn:ietf:params:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching https://mail.linux-terminal.com/.well-known/acme-challenge/IZ7hMmRE4ZlGW7cXYoq2Lc_VrFzVFyfW6E0pzNlhiOA: Timeout during connect (likely firewall problem)

Może się zdarzyć, że ustawiłeś rekord AAAA dla mail.your-domain.com, ale serwer WWW Nginx nie nasłuchuje adresu IPv6. Aby naprawić ten błąd, edytuj plik /etc/nginx/sites-enabled/00-default.conf

sudo nano /etc/nginx/sites-enabled/00-default.conf

Znajdź następującą linię.

#listen [::]:80;

Usuń znak #, aby włączyć protokół IPv6 dla tego wirtualnego hosta Nginx.

listen [::]:80;

Zapisz i zamknij plik. Następnie edytuj wirtualny host SSL /etc/nginx/sites-enabled/00-default-ssl.conf.

sudo nano /etc/nginx/sites-enabled/00-default-ssl.conf

Dodaj następującą linię.

listen [::]:443 ssl http2;

Zapisz i zamknij plik. Następnie przetestuj konfigurację Nginx.

sudo nginx -t

Jeśli test zakończy się pomyślnie, załaduj ponownie Nginx, aby zmiana zaczęła obowiązywać.

sudo systemctl reload nginx

Uruchom ponownie następujące polecenie, aby uzyskać certyfikat TLS. Zastąp czerwony tekst rzeczywistymi danymi.

sudo certbot certonly --webroot --agree-tos --email [email  -d mail.your-domain.com -w /var/www/html/

Teraz powinieneś być w stanie pomyślnie uzyskać certyfikat TLS.

Instalowanie certyfikatu w Nginx

Po uzyskaniu certyfikatu TLS skonfigurujmy serwer WWW Nginx, aby z niego korzystał. Edytuj plik szablonu SSL.

sudo nano /etc/nginx/templates/ssl.tmpl

Znajdź następujące 2 linie.

ssl_certificate /etc/ssl/certs/iRedMail.crt;
ssl_certificate_key /etc/ssl/private/iRedMail.key;

Zastąp je:

ssl_certificate /etc/letsencrypt/live/mail.your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.your-domain.com/privkey.pem;

Zapisz i zamknij plik. Następnie przetestuj konfigurację Nginx i załaduj ponownie.

sudo nginx -t

sudo systemctl reload nginx

Odwiedź ponownie panel administracyjny iRedMail (https://mail.your-domain.com/iredadmin/), Twoja przeglądarka nie będzie już Cię ostrzegać, ponieważ Nginx używa teraz ważnego certyfikatu TLS.

Instalowanie certyfikatu TLS w Postfix i Dovecot

Musimy także skonfigurować serwery Postfix SMTP i Dovecot IMAP do korzystania z wystawionego certyfikatu Let’s Encrypt, tak aby stacjonarny klient poczty nie wyświetlał ostrzeżeń o bezpieczeństwie. Edytuj główny plik konfiguracyjny Postfix.

sudo nano /etc/postfix/main.cf

Znajdź następujące 3 linie. (linia 95, 96, 97).

smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt

Zastąp je:

smtpd_tls_key_file = /etc/letsencrypt/live/mail.your-domain.com/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.your-domain.com/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/mail.your-domain.com/chain.pem

Zapisz i zamknij plik. Następnie załaduj ponownie Postfix.

sudo systemctl reload postfix

Następnie edytuj główny plik konfiguracyjny Dovecot.

sudo nano /etc/dovecot/dovecot.conf

Popraw następujące 2 linie. (linia 47, 48)

ssl_cert = </etc/ssl/certs/iRedMail.crt
ssl_key = </etc/ssl/private/iRedMail.key

Zastąp je:

ssl_cert = </etc/letsencrypt/live/mail.your-domain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.your-domain.com/privkey.pem

Zapisz i zamknij plik. Następnie załaduj ponownie Dovecot.

sudo systemctl reload dovecot

Odtąd użytkownicy poczty na komputerze nie będą widzieć ostrzeżeń dotyczących bezpieczeństwa.

Krok 6: Wysyłanie e-maila testowego

Zaloguj się do panelu iredadmin za pomocą konta pocztowego postmaster ([email chroniony]). W zakładce Dodaj możesz dodać dodatkowe domeny lub adresy e-mail.

Po utworzeniu użytkownika możesz odwiedzić adres poczty internetowej Roundcube i zalogować się przy użyciu nowego konta użytkownika poczty.

https://mail.your-domain.com/mail/

Teraz możesz przetestować wysyłanie i odbieranie wiadomości e-mail. Pamiętaj, że na otrzymanie wiadomości e-mail może być konieczne poczekanie kilku minut, ponieważ iRedMail domyślnie włącza szarą listę, czyli sposób na poinformowanie innych serwerów SMTP wysyłających, aby spróbowały ponownie za kilka minut. Poniższy wiersz w pliku dziennika poczty /var/log/mail.log wskazuje, że szara lista jest włączona.

Recipient address rejected: Intentional policy rejection, please try again later;

Dodawanie przestrzeni wymiany

ClamAV służy do skanowania wirusów w wiadomościach e-mail. ClamAV może używać sporej ilości pamięci RAM. Jeśli na Twoim serwerze nie ma wystarczającej ilości pamięci RAM, ClamAV nie będzie działać poprawnie, co uniemożliwi Twojemu serwerowi pocztowemu wysyłanie wiadomości e-mail. Możesz dodać plik wymiany do swojego serwera, aby zwiększyć całkowitą ilość pamięci RAM na serwerze. (Pamiętaj, że użycie przestrzeni wymiany na serwerze obniży wydajność serwera. Jeśli chcesz uzyskać lepszą wydajność, powinieneś uaktualnić fizyczną pamięć RAM zamiast korzystać z przestrzeni wymiany.)

Aby dodać przestrzeń wymiany na serwerze, najpierw użyj polecenia fallocate w celu utworzenia pliku. Na przykład utwórz plik o nazwie plik wymiany o pojemności 1G w głównym systemie plików:

sudo fallocate -l 1G /swapfile

Następnie upewnij się, że tylko root może czytać i zapisywać na nim.

sudo chmod 600 /swapfile

Sformatuj go, aby zamienić:

sudo mkswap /swapfile

Wyjście :

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=0aab5886-4dfb-40d4-920d-fb1115c67433

Włącz plik wymiany

sudo swapon /swapfile

Aby zamontować przestrzeń wymiany podczas uruchamiania systemu, dokonaj edycji pliku /etc/fstab.

sudo nano /etc/fstab

Dodaj następujący wiersz na dole tego pliku.

/swapfile    swap    swap     defaults    0   0

Zapisz i zamknij plik. Następnie załaduj ponownie systemy i zrestartuj ClamAV.

sudo systemctl daemon-reload

sudo systemctl restart clamav-daemon

Krok 7: Sprawdzenie, czy port 25 (wychodzący) jest zablokowany

Twój dostawca usług internetowych lub hostingu nie będzie blokował połączeń przychodzących na porcie 25 Twojego serwera, co oznacza, że możesz odbierać wiadomości e-mail z innych serwerów pocztowych. Jednak wielu dostawców usług internetowych/hostingowych blokuje połączenia wychodzące do portu 25 innych serwerów pocztowych, co oznacza, że nie można wysyłać e-maili.

Jeśli Twój e-mail nie dotarł na Twój inny adres e-mail, taki jak Gmail, uruchom następujące polecenie na swoim serwerze pocztowym, aby sprawdzić, czy port 25 (wychodzący) jest zablokowany.

telnet gmail-smtp-in.l.google.com 25

Jeśli nie jest zablokowane, zobaczysz komunikat podobny do poniższego, który oznacza, że połączenie zostało pomyślnie nawiązane. (Wskazówka: wpisz quit i naciśnij klawisz Enter, aby zamknąć połączenie.)

Trying 74.125.68.26...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP y22si1641751pll.208 - gsmtp

Jeśli port 25 (wychodzący) jest zablokowany, zobaczysz coś takiego:

Trying 2607:f8b0:400e:c06::1a...
Trying 74.125.195.27...
telnet: Unable to connect to remote host: Connection timed out

W takim przypadku Twój serwer SMTP Postfix nie może wysyłać wiadomości e-mail do innych serwerów SMTP. Poproś swojego dostawcę usług internetowych/hostingu o otwarcie go. Jeśli odrzucą Twoją prośbę, musisz skonfigurować przekaźnik SMTP, aby ominąć blokowanie portu 25.

Nadal nie możesz wysłać e-maila?

Jeśli port 25 (wychodzący) nie jest zablokowany, ale nadal nie możesz wysyłać wiadomości e-mail z własnego serwera pocztowego na inny adres e-mail, np. Gmail, powinieneś sprawdzić dziennik poczty (/var/log/mail.log ).

sudo nano /var/log/mail.log

Na przykład niektórzy ludzie mogą zobaczyć w pliku następujące wiersze.

host gmail-smtp-in.l.google.com[2404:6800:4003:c03::1b] said: 550-5.7.1 [2a0d:7c40:3000:b8b::2] Our system has detected that 550-5.7.1 this message does not meet IPv6 sending guidelines regarding PTR 550-5.7.1 records and authentication. Please review 550-5.7.1 https://support.google.com/mail/?p=IPv6AuthError for more information

Oznacza to, że Twój serwer pocztowy używa protokołu IPv6 do wysyłania wiadomości e-mail, ale nie skonfigurowałeś rekordów IPv6. Powinieneś udać się do swojego menedżera DNS, ustawić rekord AAAA dla mail.your-domain.com, następnie ustawić rekord PTR dla swojego IPv6 adres, który został omówiony w kroku 9.

Krok 8: Korzystanie z klientów poczty na komputerze lub urządzeniu mobilnym

Uruchom swojego klienta poczty e-mail na komputerze, takiego jak Mozilla Thunderbird, i dodaj konto pocztowe.

  • W sekcji serwera przychodzącego wybierz protokół IMAP, wpisz mail.twoja-domena.com jako nazwę serwera, wybierz port 143 i STARTTLS. Wybierz normalne hasło jako metodę uwierzytelniania.
  • W sekcji wychodzącej wybierz protokół SMTP, jako nazwę serwera wpisz mail.twoja-domena.com, wybierz port 587 i STARTTLS. Wybierz normalne hasło jako metodę uwierzytelniania.

Fail2ban blokuje Twój własny adres IP

Jeśli popełniłeś błąd i nie udało Ci się wielokrotnie zalogować do serwera pocztowego, to usługa Fail2ban na serwerze pocztowym może zablokować Twój adres IP. Możesz dodać swój adres IP do białej listy, edytując plik jail.local.

sudo nano /etc/fail2ban/jail.local

Dodaj swój własny adres IP do listy ignorowanych, jak poniżej. Zamień 12.34.56.78 na swój prawdziwy adres IP.

ignoreip = 12.34.56.78 127.0.0.1 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16

Zapisz i zamknij plik. Następnie uruchom ponownie Fail2ban.

sudo systemctl restart fail2ban

Krok 9: Poprawa dostarczalności wiadomości e-mail

Aby zapobiec oznaczaniu Twoich e-maili jako spam, powinieneś ustawić rekordy PTR, SPF, DKIM i DMARC.

Rekord PTR

Rekord wskaźnika, czyli rekord PTR, odwzorowuje adres IP na nazwę FQDN (w pełni kwalifikowaną nazwę domeny). Jest odpowiednikiem rekordu A i służy do odwrotnego wyszukiwania DNS, co może pomóc w blokowaniu spamerów. Wiele serwerów SMTP odrzuca wiadomości e-mail, jeśli dla serwera wysyłającego nie zostanie znaleziony żaden rekord PTR.

Aby sprawdzić rekord PTR pod kątem adresu IP, uruchom to polecenie:

dig -x IP-address +short

Lub

host IP-address

Rejestrator Twojej domeny nie zarządza rekordem PTR. Zarządza nim osoba, która daje Ci adres IP. Ponieważ adres IP otrzymujesz od swojego dostawcy usług hostingowych lub usługodawcy internetowego, a nie od rejestratora domeny, musisz więc ustawić rekord PTR dla swojego adresu IP w panelu sterowania swojego dostawcy usług hostingowych lub zapytać swojego dostawcę usług internetowych. Jego wartością powinna być nazwa hosta Twojego serwera pocztowego: mail.twoja-domena.com. Jeśli Twój serwer korzysta z adresu IPv6, pamiętaj o dodaniu rekordu PTR również dla Twojego adresu IPv6.

Aby edytować odwrotny rekord DNS dla swojego VPS Kamatera, zaloguj się do obszaru klienta Kamatera, następnie otwórz zgłoszenie do pomocy technicznej i poproś o dodanie rekordu PTR dla adresów IP serwerów, aby wskazywał adres IP na mail.twoja-domena. com. Może się wydawać, że nie jest to wygodne, ale ma to na celu trzymanie spamerów z dala od platformy, dzięki czemu legalni nadawcy e-maili, tacy jak my, będą mieli świetną reputację IP.

Rekord SPF

Rekord SPF (Sender Policy Framework) określa, które hosty lub adresy IP mogą wysyłać wiadomości e-mail w imieniu domeny. Powinieneś zezwolić na wysyłanie wiadomości e-mail w Twojej domenie wyłącznie swojemu serwerowi poczty e-mail lub serwerowi usługodawcy internetowego. W interfejsie zarządzania DNS utwórz nowy rekord TXT, jak poniżej.

Wyjaśnienie:

  • TXT wskazuje, że jest to rekord TXT.
  • Wpisz @ w polu nazwy, aby reprezentować główną nazwę domeny.
  • v=spf1 wskazuje, że jest to rekord SPF i wersja to SPF1.
  • mx oznacza, że wszystkie hosty wymienione w rekordach MX mogą wysyłać e-maile w Twojej domenie, a wszystkie inne hosty są zabronione.
  • Wartość ~all wskazuje, że e-maile z Twojej domeny powinny pochodzić wyłącznie z hostów określonych w rekordzie SPF. E-maile pochodzące od innych hostów będą oznaczane jako sfałszowane.

Aby sprawdzić, czy rekord SPF jest rozpowszechniany w publicznym Internecie, możesz użyć narzędzia dig na komputerze z systemem Linux, jak poniżej:

dig your-domain.com txt

Opcja txt informuje dig, że chcemy wysyłać zapytania tylko do rekordów TXT.

Rekord DKIM

DKIM (DomainKeys Identified Mail) używa klucza prywatnego do cyfrowego podpisywania wiadomości e-mail wysyłanych z Twojej domeny. Odbierające serwery SMTP weryfikują podpis przy pomocy klucza publicznego, który publikowany jest w rekordzie DNS DKIM.

Skrypt iRedMail automatycznie skonfigurował podpisywanie i weryfikację DKIM dla Twojego serwera. Pozostało już tylko utworzyć rekord DKIM w menedżerze DNS. Uruchom następujące polecenie, pokaż klucz publiczny DKIM.

sudo amavisd-new showkeys

Klucz publiczny DKIM podano w nawiasach.

Następnie w swoim menedżerze DNS utwórz rekord TXT, w polu nazwy wpisz dkim._domainkey. Skopiuj wszystko w nawiasach i wklej w polu wartości. Usuń wszystkie cudzysłowy i podziały wierszy.

Po zapisaniu zmian uruchom następujące polecenie, aby sprawdzić, czy rekord DKIM jest poprawny.

sudo amavisd-new testkeys

Jeśli rekord DKIM jest poprawny, test zostanie zaliczony.

TESTING#1 linux-terminal.com: dkim._domainkey.linux-terminal.com => pass

Pamiętaj, że może zaistnieć potrzeba rozprzestrzenienia się rekordu DKIM w Internecie. W zależności od rejestratora domeny, którego używasz, propagacja rekordu DNS może nastąpić natychmiast lub może zająć do 24 godzin. Możesz wejść na stronę https://www.dmarcanalyzer.com/dkim/dkim-check/, wpisać dkim jako selektor i wpisać nazwę swojej domeny, aby sprawdzić propagację rekordu DKIM.

Rekord DMARC

DMARC oznacza uwierzytelnianie, raportowanie i zgodność wiadomości w oparciu o domeny. DMARC może pomóc serwerom odbiorczym poczty elektronicznej w identyfikowaniu prawidłowych wiadomości e-mail i zapobieganiu wykorzystywaniu nazwy domeny do fałszowania wiadomości e-mail.

Aby utworzyć rekord DMARC, przejdź do swojego menedżera DNS i dodaj rekord TXT. W polu nazwy wpisz _dmarc. W polu wartości wprowadź następujące informacje. (Powinieneś utworzyć adres e-mail [chroniony e-mailem].)

v=DMARC1; p=none; pct=100; rua=mailto:[email 

Powyższy rekord DMARC jest bezpiecznym punktem wyjścia. Aby zobaczyć pełne wyjaśnienie DMARC, sprawdź następujący artykuł.

  • Tworzenie rekordu DMARC w celu ochrony nazwy domeny przed fałszowaniem wiadomości e-mail

Krok 10: Testowanie wyniku i umiejscowienia wiadomości e-mail

Po utworzeniu rekordu PTR, SPF, DKIM przejdź na stronę https://www.mail-tester.com. Zobaczysz unikalny adres e-mail. Wyślij wiadomość e-mail ze swojej domeny na ten adres, a następnie sprawdź swój wynik. Jak widać, uzyskałem doskonały wynik. W wyniku testu powinieneś sprawdzić, czy Twój rekord PTR, SPF i DKIM jest ważny.

E-mail został odrzucony przez skrzynkę pocztową Microsoft?

Firma Microsoft korzysta z wewnętrznej czarnej listy, która blokuje wiele prawidłowych adresów IP. Jeśli Twoje e-maile są odrzucane przez Outlooka lub Hotmaila, postępuj zgodnie z tutorialem, do którego link znajduje się poniżej, aby ominąć czarną listę Microsoft Outlook.

  • Jak ominąć czarną listę programu Microsoft Outlook i inne czarne listy

Co się stanie, jeśli Twoje e-maile nadal będą oznaczane jako spam?

Więcej wskazówek mam dla Ciebie w tym artykule: Jak zapobiec oznaczaniu wiadomości e-mail jako spam. Chociaż zajmie to trochę czasu i wysiłku, po zastosowaniu tych wskazówek Twoje e-maile zostaną ostatecznie umieszczone w skrzynce odbiorczej.

Dodawanie wielu domen pocztowych

Napisałem ten artykuł, aby pokazać, jak dodać wiele domen pocztowych w iRedMail.

Jak wyłączyć szarą listę

Domyślnie iRedMail włączył szarą listę, która informuje inne serwery SMTP wysyłające, aby spróbowały ponownie za kilka minut. Jest to przydatne głównie do blokowania spamu, ale pogarsza także wygodę użytkownika. Jeśli wolisz wyłączyć szarą listę, postępuj zgodnie z poniższymi instrukcjami.

Dodaj uprawnienia do zapisu do pliku /opt/iredapd/settings.py.

sudo chmod 600 /opt/iredapd/settings.py

Następnie edytuj plik konfiguracyjny.

sudo nano /opt/iredapd/settings.py

Znajdź następującą linię.

plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]

Usuń "greylisting" z listy. Zapisz i zamknij plik. Następnie uruchom ponownie iredapd.

sudo systemctl restart iredapd

Zmień plik konfiguracyjny z powrotem na tryb tylko do odczytu.

sudo chmod 400 /opt/iredapd/settings.py

Włączanie portu SMTPS 465

Jeśli zamierzasz używać klienta Microsoft Outlook, musisz włączyć port SMTPS 465 na serwerze Postfix SMTP.

Rozwiązywanie problemów

Po pierwsze, użyj VPS z co najmniej 4 GB RAM. Uruchomienie iRedMail na serwerze VPS z 1 GB pamięci RAM spowoduje, że baza danych, SpamAssassin lub ClamAV zostanie zabita z powodu braku pamięci. Jeśli będziesz nalegać na korzystanie z VPS o pojemności 1 GB RAM, utracisz przychodzące wiadomości e-mail i będziesz mieć inne niepożądane skutki.

Jeśli interfejs sieciowy iRedMail jest niedostępny, np. w przypadku błędu bramy 502, powinieneś sprawdzić logi Nginx w katalogu /var/log/nginx/, aby znaleźć wskazówki. Możesz także sprawdzić dziennik poczty /var/log/mail.log.

Sprawdź, czy różne usługi są uruchomione.

systemctl status postfix

systemctl status dovecot

systemctl status nginx

systemctl status mariadb

systemctl status clamav-daemon

systemctl status amavis

Jeśli włączyłeś zaporę, powinieneś otworzyć w zaporze następujące porty.

HTTP port:  80
HTTPS port: 443
SMTP port:  25
Submission port: 587 (and 465 if you are going to use Microsoft Outlook mail client)
IMAP port:  143 and 993

Jeśli chcesz używać zapory UFW, zapoznaj się z moim przewodnikiem tutaj: Pierwsze kroki z zaporą UFW w Debianie i Debianie.

Jak odnowić certyfikat TLS

Wystawiony przez Let’s Encrypt certyfikat TLS jest ważny tylko przez 90 dni i ważne jest, aby skonfigurować zadanie Cron, aby automatycznie odnawiało certyfikat. Aby odnowić certyfikat, możesz uruchomić następujące polecenie.

sudo certbot renew -w /var/www/html/

Możesz użyć opcji --dry-run, aby przetestować proces odnawiania, zamiast przeprowadzać prawdziwe odnowienie.

sudo certbot renew -w /var/www/html/ --dry-run

Jeśli podczas odnawiania certyfikatu TLS widzisz następujący błąd.

The client lacks sufficient authorization :: Invalid response

Następnie musisz utworzyć ukryty katalog.

sudo mkdir -p /var/www/html/.well-known/acme-challenge

I ustaw www-data jako właściciela pliku webbroot.

sudo chown www-data:www-data /var/www/html/ -R

Edytuj także wirtualny host SSL /etc/nginx/sites-enabled/00-default-ssl.conf. Dodaj następujące linie.

location ~ /.well-known/acme-challenge {
     root /var/www/html/;
     allow all;
}

Zapisz i zamknij plik. Przetestuj konfigurację Nginx i załaduj ponownie.

sudo nginx -t
sudo systemctl reload nginx

Utwórz zadanie Cron

Jeśli teraz próba próbna zakończy się pomyślnie, możesz utworzyć zadanie Cron, aby automatycznie odnowić certyfikat. Po prostu otwórz plik crontab użytkownika root.

sudo crontab -e

Następnie dodaj następujący wiersz na dole pliku.

@daily certbot renew -w /var/www/html --quiet && systemctl reload postfix dovecot nginx

Ponowne załadowanie Postfix, Dovecot i Nginx jest konieczne, aby te programy pobrały nowy certyfikat i klucz prywatny.

Dla zaawansowanych użytkowników

Możesz dostosować filtr treści SpamAssassin, aby lepiej wykrywać spam.

  • Blokuj spam e-mailowy, sprawdzając nagłówek i treść w Postfix/SpamAssassin

Jeśli Twoja witryna internetowa i serwer pocztowy działają na dwóch różnych VPS (wirtualny serwer prywatny), możesz skonfigurować przekaźnik SMTP pomiędzy witryną a serwerem pocztowym, aby Twoja witryna internetowa mogła wysyłać wiadomości e-mail za pośrednictwem Twojego serwera pocztowego. Zobacz następujący artykuł. (Jest napisany dla Ubuntu, ale działa również na Debianie).

  • Jak skonfigurować przekaźnik SMTP między 2 serwerami SMTP Postfix w systemie Ubuntu

Podsumowanie

Otóż to! Mam nadzieję, że ten samouczek pomógł ci skonfigurować serwer pocztowy na Debianie 12 za pomocą iRedMail. Jak zawsze, jeśli uznałeś ten post za przydatny, zapisz się do naszego bezpłatnego biuletynu, aby uzyskać więcej porad i wskazówek. Uważaj 🙂

Powiązane artykuły