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 upgradeZdecydowanie 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 usernameNastępnie dodaj użytkownika do grupy sudo.
adduser username sudoNastę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.comMusimy także zaktualizować plik /etc/hosts za pomocą edytora tekstu wiersza poleceń, takiego jak Nano.
sudo nano /etc/hostsEdytuj jak poniżej. (Użyj klawiszy strzałek, aby przesunąć kursor w pliku.)
127.0.0.1 mail.your-domain.com localhostZapisz 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 -fKrok 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.gzWyodrębnij zarchiwizowany plik.
tar xvf 1.6.4.tar.gzNastępnie przejdź do nowo utworzonego katalogu.
cd iRedMail-1.6.4/Dodaj uprawnienia wykonywalne do skryptu iRedMail.sh.
chmod +x iRedMail.shNastępnie uruchom skrypt Bash z uprawnieniami Sudo.
sudo bash iRedMail.shPojawi 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 nowGdy 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 certbotiRedMail 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.confZnajdź 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.confDodaj następującą linię.
listen [::]:443 ssl http2;Zapisz i zamknij plik. Następnie przetestuj konfigurację Nginx.
sudo nginx -tJeśli test zakończy się pomyślnie, załaduj ponownie Nginx, aby zmiana zaczęła obowiązywać.
sudo systemctl reload nginxUruchom 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.tmplZnajdź 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 nginxOdwiedź 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.cfZnajdź 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.crtZastą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.pemZapisz i zamknij plik. Następnie załaduj ponownie Postfix.
sudo systemctl reload postfixNastępnie edytuj główny plik konfiguracyjny Dovecot.
sudo nano /etc/dovecot/dovecot.confPopraw następujące 2 linie. (linia 47, 48)
ssl_cert = </etc/ssl/certs/iRedMail.crt
ssl_key = </etc/ssl/private/iRedMail.keyZastąp je:
ssl_cert = </etc/letsencrypt/live/mail.your-domain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.your-domain.com/privkey.pemZapisz i zamknij plik. Następnie załaduj ponownie Dovecot.
sudo systemctl reload dovecotOdtą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 /swapfileNastępnie upewnij się, że tylko root może czytać i zapisywać na nim.
sudo chmod 600 /swapfileSformatuj go, aby zamienić:
sudo mkswap /swapfileWyjście :
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=0aab5886-4dfb-40d4-920d-fb1115c67433Włącz plik wymiany
sudo swapon /swapfileAby zamontować przestrzeń wymiany podczas uruchamiania systemu, dokonaj edycji pliku /etc/fstab.
sudo nano /etc/fstabDodaj następujący wiersz na dole tego pliku.
/swapfile swap swap defaults 0 0Zapisz i zamknij plik. Następnie załaduj ponownie systemy i zrestartuj ClamAV.
sudo systemctl daemon-reload
sudo systemctl restart clamav-daemonKrok 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 25Jeś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 - gsmtpJeś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 outW 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.logNa 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 informationOznacza 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.comjako nazwę serwera, wybierz port 143 i STARTTLS. Wybierznormalne hasłojako metodę uwierzytelniania. - W sekcji wychodzącej wybierz protokół SMTP, jako nazwę serwera wpisz
mail.twoja-domena.com, wybierz port 587 i STARTTLS. Wybierznormalne hasłojako 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.localDodaj 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/16Zapisz i zamknij plik. Następnie uruchom ponownie Fail2ban.
sudo systemctl restart fail2banKrok 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 +shortLub
host IP-addressRejestrator 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 txtOpcja 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 showkeysKlucz 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 testkeysJeśli rekord DKIM jest poprawny, test zostanie zaliczony.
TESTING#1 linux-terminal.com: dkim._domainkey.linux-terminal.com => passPamię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.pyNastępnie edytuj plik konfiguracyjny.
sudo nano /opt/iredapd/settings.pyZnajdź 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 iredapdZmień plik konfiguracyjny z powrotem na tryb tylko do odczytu.
sudo chmod 400 /opt/iredapd/settings.pyWłą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 amavisJeś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 993Jeś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-runJeśli podczas odnawiania certyfikatu TLS widzisz następujący błąd.
The client lacks sufficient authorization :: Invalid responseNastępnie musisz utworzyć ukryty katalog.
sudo mkdir -p /var/www/html/.well-known/acme-challengeI ustaw www-data jako właściciela pliku webbroot.
sudo chown www-data:www-data /var/www/html/ -REdytuj 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 nginxUtwó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 -eNastępnie dodaj następujący wiersz na dole pliku.
@daily certbot renew -w /var/www/html --quiet && systemctl reload postfix dovecot nginxPonowne 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 🙂



























