SMTP Relay to mechanizm przekazywania poczty elektronicznej, który pozwala aplikacjom, urządzeniom i usługom wysyłać wiadomości e-mail za pośrednictwem serwera pośredniczącego. Na Windows Server konfiguracja SMTP Relay jest niezbędna wszędzie tam, gdzie systemy LOB (Line-of-Business), skanery, drukarki wielofunkcyjne czy systemy monitoringu muszą wysyłać powiadomienia e-mail — ale nie obsługują nowoczesnych metod uwierzytelniania. W tym poradniku przeprowadzimy Cię przez cały proces: od instalacji roli SMTP Server, przez konfigurację IIS 6 Manager, smart host z Microsoft 365, aż po zabezpieczenia TLS/SSL, diagnostykę i rozwiązywanie problemów.
1. Co to jest SMTP Relay i do czego służy?
SMTP (Simple Mail Transfer Protocol) to standardowy protokół internetowy do przesyłania poczty elektronicznej między serwerami. SMTP Relay — czyli przekaźnik SMTP — to serwer pośredniczący, który przyjmuje wiadomości e-mail od aplikacji lub urządzeń w sieci lokalnej i przekazuje je do docelowego serwera pocztowego odbiorcy.
W praktyce SMTP Relay działa jak „poczta wewnętrzna" w firmie: aplikacja (np. system ERP, CRM, skaner sieciowy) wysyła wiadomość do lokalnego serwera relay, a ten — po uwierzytelnieniu i weryfikacji — przekazuje ją dalej do Internetu, np. przez Microsoft 365, Gmail lub bezpośrednio do serwera MX odbiorcy.
Dlaczego nie wysyłać bezpośrednio?
Wiele urządzeń i starszych aplikacji nie obsługuje:
- OAuth 2.0 / Modern Authentication — wymaganego przez Microsoft 365 i Google od 2022 roku
- Szyfrowania TLS 1.2+ — starsze firmware drukarek czy skanerów obsługują najwyżej TLS 1.0
- Limitów wysyłania — usługi chmurowe nakładają ograniczenia (np. 10 000 odbiorców/dzień w M365)
SMTP Relay rozwiązuje te problemy, agregując ruch pocztowy z wielu źródeł i przekazując go przez jeden, odpowiednio skonfigurowany i zabezpieczony punkt.
Kluczowa różnica: SMTP Relay przekazuje pocztę bez potrzeby skrzynki pocztowej nadawcy. W przeciwieństwie do SMTP Client Submission (port 587), relay wykorzystuje port 25 i uwierzytelnia się najczęściej na podstawie adresu IP, a nie danych logowania.
2. Scenariusze użycia — kiedy potrzebujesz SMTP Relay
SMTP Relay na Windows Server 2022 jest niezbędny w wielu typowych środowiskach enterprise:
Aplikacje biznesowe (LOB)
- Systemy ERP (SAP, Dynamics 365, Comarch) — wysyłka faktur, powiadomień o zamówieniach
- Systemy CRM — automatyczne odpowiedzi, kampanie mailingowe
- Systemy ticketowe (Jira, ServiceNow, OTRS) — powiadomienia o zgłoszeniach
- Aplikacje SharePoint / Power Automate — workflow z powiadomieniami e-mail
Urządzenia sieciowe
- Drukarki wielofunkcyjne (Konica Minolta, Ricoh, Xerox, HP) — skan-to-email
- Skanery sieciowe — wysyłka zeskanowanych dokumentów
- Kamery IP i systemy CCTV — powiadomienia o detekcji ruchu
- Urządzenia UPS (APC, Eaton) — alerty o zasilaniu
Systemy monitoringu i automatyzacji
- SCOM / Nagios / Zabbix / PRTG — alerty o awariach infrastruktury
- Skrypty PowerShell — automatyczne raporty, powiadomienia o zadaniach
- Task Scheduler — wyniki zaplanowanych zadań
- Backup (Veeam, Acronis) — raporty z kopii zapasowych
Wskazówka: Jeśli Twoja organizacja używa więcej niż 5 urządzeń/aplikacji wysyłających e-mail, centralizacja przez SMTP Relay zmniejsza złożoność konfiguracji z N punktów do jednego.
3. Wymagania wstępne i przygotowanie środowiska
Przed przystąpieniem do instalacji upewnij się, że spełniasz następujące wymagania:
| Wymóg | Opis | Weryfikacja |
|---|
| Windows Server 2019/2022 | Standard lub Datacenter z aktualnym Service Pack | winver lub Get-ComputerInfo | Select OsName, OsVersion |
| Statyczny adres IP | Serwer relay musi mieć stały IP (wewnętrzny i/lub publiczny) | ipconfig /all |
| Dostęp do portu 25 | TCP port 25 otwarty w firewallu dla ruchu wychodzącego | Test-NetConnection smtp.office365.com -Port 25 |
| Konto administratora | Uprawnienia do instalacji ról i konfiguracji IIS | Członkostwo w grupie Administrators |
| Rekordy DNS | SPF, opcjonalnie DKIM i DMARC dla domeny nadawcy | nslookup -type=TXT domena.pl |
| Smart host (opcjonalnie) | Dane serwera docelowego: FQDN, port, ewentualne dane logowania | Dokumentacja dostawcy (M365, Gmail, Exchange) |
Uwaga: Rola SMTP Server w Windows Server korzysta z przestarzałej konsoli IIS 6.0 Manager — nie z nowoczesnego IIS Manager 10. Jest to celowe i wspierane przez Microsoft, choć interfejs wygląda archaicznie. W Windows Server 2025 rola SMTP została usunięta — używaj hMailServer lub zewnętrznego relay.
4. Instalacja roli SMTP Server na Windows Server 2022/2019
Metoda 1: Server Manager (GUI)
- Otwórz Server Manager → Manage → Add Roles and Features
- W kreatorze kliknij Next aż do ekranu Features
- Zaznacz SMTP Server — system poprosi o dodanie zależności (IIS, IIS 6 Management Compatibility)
- Potwierdź dodanie wymaganych funkcji i kliknij Install
- Po zakończeniu instalacji nie jest wymagany restart
Metoda 2: PowerShell (zalecana)
# Instalacja roli SMTP Server z narzędziami zarządzania Install-WindowsFeature -Name SMTP-Server -IncludeAllSubFeature -IncludeManagementTools # Opcjonalnie: instalacja klienta Telnet do testowania Install-WindowsFeature -Name Telnet-Client # Weryfikacja instalacji Get-WindowsFeature SMTP-Server | Format-Table Name, InstallState # Sprawdzenie usługi SMTPSVC Get-Service SMTPSVC | Format-Table Name, Status, StartType
Po instalacji usługa SMTPSVC powinna być ustawiona na Automatic i w stanie Running. Jeśli nie wystartowała automatycznie:
# Ustawienie automatycznego startu i uruchomienie usługi Set-Service -Name SMTPSVC -StartupType Automatic Start-Service SMTPSVC
Weryfikacja instalacji
Otwórz konsolę IIS 6.0 Manager (polecenie: inetmgr6.exe lub Start → Administrative Tools → Internet Information Services (IIS) 6.0 Manager). Powinieneś zobaczyć węzeł [SMTP Virtual Server #1] pod nazwą serwera.
5. Konfiguracja IIS 6 SMTP — domena, relay restrictions, smart host
Po instalacji roli SMTP Server, konfiguracja odbywa się w konsoli IIS 6.0 Manager. Poniżej omawiamy każdy krok szczegółowo.
5.1. Właściwości ogólne (General)
- Otwórz
inetmgr6.exe - Kliknij prawym przyciskiem na [SMTP Virtual Server #1] → Properties
- Na karcie General:
- IP address: ustaw na
(All Unassigned) lub konkretny IP serwera - Limit number of connections to: ustaw na 1000 (domyślnie nieograniczone)
- Connection time-out: 600 sekund (domyślne 10 minut)
- Zaznacz Enable logging — przydatne do diagnostyki
5.2. Kontrola dostępu (Access)
Na karcie Access skonfiguruj trzy kluczowe elementy:
Authentication
Kliknij Authentication... i zaznacz Anonymous access. Dla relay wewnętrznego (z zaufanych IP) uwierzytelnianie anonimowe jest standardem — kontrola dostępu odbywa się przez ograniczenia IP w sekcji Relay.
Connection
Kliknij Connection... → wybierz Only the list below i dodaj adresy IP lub podsieci urządzeń, które mogą łączyć się z serwerem SMTP. Przykład:
127.0.0.1 — localhost (aplikacje na tym samym serwerze)192.168.1.0/24 — podsieć LAN z drukarkami i skanerami10.0.0.50 — konkretny serwer aplikacji
Relay Restrictions
Kliknij Relay... → wybierz Only the list below i dodaj te same adresy IP co w sekcji Connection. To kluczowe zabezpieczenie — bez niego serwer SMTP stałby się open relay, co natychmiast doprowadzi do blacklistowania IP.
KRYTYCZNE: Nigdy nie zostawiaj opcji „All except the list below" w Relay Restrictions bez dodania żadnych wyjątków. Serwer stanie się open relay i w ciągu godzin trafi na listy RBL (Spamhaus, Barracuda), co zablokuje całą pocztę wychodzącą z Twojego IP.
5.3. Domena lokalna (Messages / Domains)
Na karcie Messages:
- Send copy of Non-Delivery Report to: wpisz adres administratora, np.
admin@twojadomena.pl - Badmail directory: pozostaw domyślny
C: inetpub mailroot Badmail - Limit message size to (KB): ustaw np. 10240 (10 MB) lub więcej, w zależności od potrzeb
Następnie rozwiń węzeł SMTP Virtual Server → Domains. Domyślnie istnieje domena lokalna odpowiadająca nazwie serwera. Jeśli chcesz, aby serwer relay wysyłał pocztę z konkretnej domeny:
- Kliknij prawym na Domains → New → Domain...
- Wybierz Remote (nie Alias!)
- Wpisz nazwę domeny, np.
twojafirma.pl - We właściwościach nowej domeny możesz skonfigurować smart host specyficzny dla tej domeny
5.4. Delivery — Smart Host
Na karcie Delivery:
- Kliknij Advanced...
- W polu Smart host wpisz adres serwera docelowego:
- Dla Microsoft 365:
twojadomena-pl.mail.protection.outlook.com (endpoint MX) - Dla Gmail:
smtp-relay.gmail.com - Dla Exchange on-premises:
mail.twojadomena.pl
- Fully-qualified domain name: wpisz FQDN serwera relay, np.
relay.twojadomena.pl
Ważne: Dla Microsoft 365 SMTP Relay (port 25, bez uwierzytelniania) użyj endpointu MX domeny, a NIE smtp.office365.com. Ten drugi wymaga uwierzytelniania SMTP AUTH i jest przeznaczony dla klientów pocztowych, nie relay.
6. Konfiguracja z Microsoft 365 / Exchange Online jako smart host
Microsoft 365 obsługuje trzy metody wysyłania poczty z aplikacji/urządzeń. Dla SMTP Relay najlepsza jest metoda Option 3: Connector-based relay:
| Metoda | Port | Uwierzytelnianie | Limit | Najlepsze dla |
|---|
| SMTP Client Submission | 587 | Basic Auth (login/hasło) | 30 msg/min | Pojedyncze aplikacje |
| Direct Send | 25 | Brak | Tylko do M365 | Powiadomienia wewnętrzne |
| SMTP Relay (connector) | 25 | IP-based trust | 10 000 odb./dzień | Wiele urządzeń, wysoki wolumen |
Krok 1: Utwórz connector w Exchange Admin Center
- Zaloguj się do Exchange Admin Center
- Przejdź do Mail flow → Connectors
- Kliknij + Add a connector
- Connection from: Your organization's email server (On-premises)
- Connection to: Office 365
- Nazwa: np. „Windows Server SMTP Relay"
- Routing: wybierz authenticating IP address
- Dodaj publiczny statyczny IP Twojego serwera relay
- Zapisz i przetestuj connector
Krok 2: Whitelist IP w Connection Filter
- Przejdź do Microsoft 365 Defender → Policies & rules → Threat policies → Anti-spam
- Otwórz Connection filter policy
- Włącz IP Allow List i dodaj publiczny IP serwera relay
Krok 3: Skonfiguruj smart host na Windows Server
W IIS 6.0 Manager → SMTP Virtual Server → Delivery → Advanced:
- Smart host:
twojadomena-pl.mail.protection.outlook.com - Upewnij się, że port 25 jest otwarty w firewallu wychodzącym
Krok 4: Skonfiguruj SPF
Dodaj rekord TXT w DNS domeny:
v=spf1 include:spf.protection.outlook.com ip4:TWOJ_PUBLICZNY_IP -all
Dzięki integracji z Microsoft 365 Business Standard zyskujesz nie tylko relay pocztowy, ale również pełen pakiet produktywności z Exchange Online, Teams i aplikacjami Office.
7. Konfiguracja z Gmail SMTP Relay
Google Workspace oferuje usługę SMTP Relay dostępną dla organizacji z licencją Google Workspace:
Konfiguracja w Google Admin Console
- Zaloguj się do admin.google.com
- Przejdź do Apps → Google Workspace → Gmail → Routing
- Znajdź sekcję SMTP relay service i kliknij Configure
- Dodaj regułę:
- Allowed senders: Only addresses in my domains (lub Any addresses)
- Authentication: Only accept mail from the specified IP addresses
- Dodaj publiczny IP serwera relay
- Encryption: Require TLS encryption
Smart host na Windows Server
W IIS 6.0 Manager ustaw smart host na: smtp-relay.gmail.com
Port 25 (z TLS) lub 587 (z STARTTLS). Gmail SMTP Relay obsługuje do 10 000 odbiorców na dzień w standardowym planie Google Workspace.
8. Certyfikaty TLS/SSL dla SMTP
Szyfrowanie TLS jest wymagane przez większość nowoczesnych serwerów pocztowych (Microsoft 365, Gmail). Konfiguracja TLS na Windows Server SMTP:
Opcja 1: Certyfikat self-signed (do testów)
# Generowanie certyfikatu self-signed $cert = New-SelfSignedCertificate ` -DnsName "relay.twojadomena.pl" ` -CertStoreLocation "cert: LocalMachine My" ` -KeyAlgorithm RSA ` -KeyLength 2048 ` -NotAfter (Get-Date).AddYears(5) # Wyświetlenie thumbprint $cert.Thumbprint
Opcja 2: Certyfikat od CA (produkcja)
Dla środowiska produkcyjnego użyj certyfikatu od zaufanego CA (np. Let's Encrypt, DigiCert, Sectigo). Certyfikat musi zawierać FQDN serwera SMTP w polu Subject lub SAN (Subject Alternative Name).
Przypisanie certyfikatu do SMTP
- Otwórz IIS 6.0 Manager
- Kliknij prawym na [SMTP Virtual Server #1] → Properties
- Karta Access → przycisk Certificate...
- Uruchomi się kreator Web Server Certificate — wybierz Assign an existing certificate
- Wybierz certyfikat z listy i zakończ kreator
- Na karcie Access → Communication... → zaznacz Require TLS encryption
Konfiguracja Outbound TLS
Na karcie Delivery → Outbound Security...:
- Zaznacz TLS encryption
- Pozostaw Anonymous authentication (dla relay IP-based)
- Jeśli smart host wymaga uwierzytelniania — zaznacz Basic authentication i podaj dane
9. PowerShell — automatyzacja i testowanie
PowerShell to najwygodniejsze narzędzie do testowania konfiguracji SMTP i automatyzacji wysyłki. Szczegółowe informacje o automatyzacji znajdziesz w naszym poradniku o PowerShell na Windows Server.
Test wysyłki e-mail (Send-MailMessage)
Uwaga: Cmdlet Send-MailMessage jest oznaczony jako obsolete od PowerShell 7.x, ale wciąż działa w Windows PowerShell 5.1 na Windows Server. Dla nowych skryptów rozważ moduł Mailozaurr lub bezpośrednie wywołania .NET.
# Test 1: Wysyłka przez lokalny relay (port 25) Send-MailMessage ` -From "system@twojadomena.pl" ` -To "admin@twojadomena.pl" ` -Subject "Test SMTP Relay - $(Get-Date -Format 'yyyy-MM-dd HH:mm')" ` -Body "Wiadomość testowa wysłana przez Windows Server SMTP Relay." ` -SmtpServer "localhost" ` -Port 25 ` -Encoding ([System.Text.Encoding]::UTF8) # Test 2: Wysyłka z załącznikiem Send-MailMessage ` -From "raporty@twojadomena.pl" ` -To "manager@twojadomena.pl" ` -Subject "Raport dzienny - $(Get-Date -Format 'yyyy-MM-dd')" ` -Body "W załączniku raport dzienny z systemu monitoringu." ` -Attachments "C: Reports daily-report.pdf" ` -SmtpServer "localhost" ` -Port 25 # Test 3: Wysyłka HTML $htmlBody = @" <html> <body> <h2>Raport systemu</h2> <p>Status: <strong style="color:green">OK</strong></p> <p>Data: $(Get-Date -Format 'dd.MM.yyyy HH:mm:ss')</p> </body> </html> "@ Send-MailMessage ` -From "monitoring@twojadomena.pl" ` -To "admin@twojadomena.pl" ` -Subject "Status systemu" ` -Body $htmlBody ` -BodyAsHtml ` -SmtpServer "localhost" ` -Port 25 ` -Encoding ([System.Text.Encoding]::UTF8)
Test połączenia Telnet
# Test połączenia z lokalnym SMTP Test-NetConnection -ComputerName localhost -Port 25 # Test połączenia z Microsoft 365 Test-NetConnection -ComputerName twojadomena-pl.mail.protection.outlook.com -Port 25 # Ręczna sesja SMTP przez Telnet # telnet localhost 25 # EHLO relay.twojadomena.pl # MAIL FROM:<test@twojadomena.pl> # RCPT TO:<admin@twojadomena.pl> # DATA # Subject: Test Telnet # Test message body # . # QUIT
Nowoczesna alternatywa (.NET)
# Użycie klasy .NET SmtpClient (bardziej elastyczne) $smtp = New-Object System.Net.Mail.SmtpClient("localhost", 25) $smtp.EnableSsl = $false # TLS opcjonalnie $message = New-Object System.Net.Mail.MailMessage $message.From = "system@twojadomena.pl" $message.To.Add("admin@twojadomena.pl") $message.Subject = "Test .NET SmtpClient" $message.Body = "Wiadomość wysłana przez .NET SmtpClient" $message.IsBodyHtml = $false $smtp.Send($message) $smtp.Dispose() Write-Host "Wiadomość wysłana pomyślnie" -ForegroundColor Green
10. Monitoring kolejki wiadomości
Monitoring kolejki SMTP jest kluczowy dla utrzymania sprawnego przepływu poczty. Windows Server SMTP przechowuje wiadomości w katalogach:
| Katalog | Ścieżka | Zawartość |
|---|
| Queue | C: inetpub mailroot Queue | Wiadomości oczekujące na wysłanie |
| Pickup | C: inetpub mailroot Pickup | Pliki .eml do pobrania i wysłania |
| Drop | C: inetpub mailroot Drop | Wiadomości dostarczone lokalnie |
| Badmail | C: inetpub mailroot Badmail | Wiadomości, których nie udało się dostarczyć |
Skrypt monitorujący w PowerShell
# Monitoring kolejki SMTP function Get-SmtpQueueStatus { $queuePath = "C: inetpub mailroot Queue" $badmailPath = "C: inetpub mailroot Badmail" $queueCount = (Get-ChildItem $queuePath -File -ErrorAction SilentlyContinue | Measure-Object).Count $badmailCount = (Get-ChildItem $badmailPath -File -ErrorAction SilentlyContinue | Measure-Object).Count [PSCustomObject]@{ Timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss" QueueCount = $queueCount BadmailCount = $badmailCount ServiceState = (Get-Service SMTPSVC).Status } } # Uruchomienie z alertem $status = Get-SmtpQueueStatus if ($status.QueueCount -gt 50) { Write-Warning "ALERT: Kolejka SMTP zawiera $($status.QueueCount) wiadomości!" # Opcjonalnie wyślij alert (ale nie przez ten sam relay, żeby uniknąć pętli!) } $status | Format-Table -AutoSize
Performance Monitor (perfmon)
Windows Performance Monitor oferuje dedykowane liczniki SMTP:
- SMTP Server: Messages Sent Total — łączna liczba wysłanych wiadomości
- SMTP Server: Messages Delivered Total — wiadomości dostarczone do kolejki
- SMTP Server: Current Messages in Queue — bieżący rozmiar kolejki
- SMTP Server: Remote Retry Queue Length — wiadomości oczekujące na ponowienie
- SMTP Server: Connection Errors — błędy połączeń wychodzących
11. Bezpieczeństwo SMTP — SPF, DKIM, DMARC
Prawidłowa konfiguracja rekordów uwierzytelniania poczty jest kluczowa dla dostarczalności wiadomości i ochrony przed spoofingiem.
SPF (Sender Policy Framework)
Rekord SPF informuje serwery odbierające, które adresy IP mają prawo wysyłać pocztę w imieniu Twojej domeny:
# Rekord SPF — przykład dla relay + Microsoft 365 twojadomena.pl TXT "v=spf1 ip4:203.0.113.10 include:spf.protection.outlook.com -all" # Wyjaśnienie: # ip4:203.0.113.10 — publiczny IP serwera relay # include:spf.protection.outlook.com — serwery Microsoft 365 # -all — odrzuć wszystko inne (hard fail)
DKIM (DomainKeys Identified Mail)
DKIM podpisuje cyfrowo każdą wiadomość kluczem prywatnym. Natywny SMTP na Windows Server nie obsługuje DKIM — podpis musi być dodany na poziomie smart hosta (np. Exchange Online automatycznie podpisuje DKIM po włączeniu w admin center) lub za pomocą zewnętrznego narzędzia.
DMARC (Domain-based Message Authentication, Reporting and Conformance)
# Przykład rekordu DMARC _dmarc.twojadomena.pl TXT "v=DMARC1; p=quarantine; sp=none; rua=mailto:dmarc@twojadomena.pl; pct=100" # p=quarantine — wiadomości niespełniające SPF/DKIM trafiają do spamu # rua — adres do raportów agregowanych # pct=100 — polityka obowiązuje dla 100% wiadomości
Rekomendacja: Wdrażaj DMARC stopniowo: zacznij od p=none (tylko monitorowanie), po analizie raportów przejdź na p=quarantine, a docelowo na p=reject.
12. Rozwiązywanie problemów — logi, Event Viewer, Telnet
Diagnostyka problemów z SMTP Relay wymaga systematycznego podejścia. Poniżej najczęstsze problemy i metody ich rozwiązywania.
12.1. Lokalizacja logów
| Źródło logów | Lokalizacja | Co zawiera |
|---|
| SMTP Server Logs | C: Windows System32 LogFiles SMTPSVC1 | Sesje SMTP, kody odpowiedzi, nadawcy/odbiorcy |
| Event Viewer | Application Log, źródło: SMTPSVC | Błędy usługi, ostrzeżenia konfiguracyjne |
| Queue/Badmail | C: inetpub mailroot Badmail | Niedostarczone wiadomości z nagłówkami błędów |
12.2. Najczęstsze błędy i rozwiązania
| Problem | Objaw | Rozwiązanie |
|---|
| Port 25 zablokowany | Timeout przy Test-NetConnection | Sprawdź Windows Firewall, firewall sieciowy, polityki ISP |
| 550 5.7.1 Relay denied | Wiadomości odrzucane | Dodaj IP nadawcy do Relay Restrictions w IIS 6.0 Manager |
| 550 5.7.54 SMTP relay not permitted | Odrzucenie przez M365 | Sprawdź connector w Exchange Admin Center — IP musi się zgadzać |
| 421 4.7.0 Temporary server error | Chwilowe odrzucenie | Throttling M365 — zmniejsz częstotliwość wysyłki |
| Wiadomości w kolejce | Narastająca kolejka w C: inetpub mailroot Queue | Sprawdź dostępność smart hosta, DNS resolution, port 25 |
| Usługa SMTPSVC nie startuje | Błąd w Event Viewer: Event ID 115 | Sprawdź powiązanie IP (netstat), upewnij się, że port 25 nie jest zajęty |
| Wiadomości w spamie | E-maile trafiają do folderu Junk | Sprawdź SPF, DKIM, DMARC; upewnij się, że IP nie jest na blackliście |
12.3. Diagnostyka krok po kroku
# 1. Sprawdź status usługi Get-Service SMTPSVC | Format-Table Name, Status, StartType # 2. Sprawdź port 25 lokalnie Test-NetConnection -ComputerName localhost -Port 25 # 3. Sprawdź port 25 do smart hosta Test-NetConnection -ComputerName twojadomena-pl.mail.protection.outlook.com -Port 25 # 4. Sprawdź logi SMTP (ostatnie 24h) $logPath = "C: Windows System32 LogFiles SMTPSVC1" $yesterday = (Get-Date).AddDays(-1) Get-ChildItem $logPath | Where-Object { $_.LastWriteTime -gt $yesterday } | ForEach-Object { Get-Content $_.FullName | Select-Object -Last 50 } # 5. Sprawdź kolejkę $queueCount = (Get-ChildItem "C: inetpub mailroot Queue" -File -ErrorAction SilentlyContinue).Count $badmailCount = (Get-ChildItem "C: inetpub mailroot Badmail" -File -ErrorAction SilentlyContinue).Count Write-Host "Queue: $queueCount | Badmail: $badmailCount" # 6. Sprawdź Event Viewer Get-EventLog -LogName Application -Source "SMTPSVC" -Newest 20 | Format-Table TimeGenerated, EntryType, Message -AutoSize # 7. Sprawdź DNS (SPF) Resolve-DnsName -Name twojadomena.pl -Type TXT | Where-Object { $_.Strings -like "*spf*" } # 8. Sprawdź, czy IP jest na blackliście # Narzędzia online: mxtoolbox.com/blacklists.aspx, multirbl.valli.org
12.4. Test Telnet — ręczna sesja SMTP
Telnet pozwala na ręczne przetestowanie sesji SMTP, co jest nieocenione w diagnostyce:
# Połączenie z lokalnym SMTP telnet localhost 25 # Oczekiwana odpowiedź: # 220 SERVER-NAME Microsoft ESMTP MAIL Service ready at [data] EHLO test.local # 250-SERVER-NAME Hello [IP] # 250-SIZE 10485760 # 250-STARTTLS # 250 OK MAIL FROM:<test@twojadomena.pl> # 250 2.1.0 test@twojadomena.pl....Sender OK RCPT TO:<admin@twojadomena.pl> # 250 2.1.5 admin@twojadomena.pl DATA # 354 Start mail input; end with <CRLF>.<CRLF> Subject: Test z Telnet To jest wiadomość testowa. . # 250 2.6.0 Queued mail for delivery QUIT # 221 2.0.0 closing connection
13. Alternatywy: hMailServer, Postfix na Linux
Wbudowana rola SMTP Server w Windows Server nie jest jedynym rozwiązaniem. Oto popularne alternatywy:
hMailServer (Windows)
hMailServer to darmowy, open-source'owy serwer pocztowy dla Windows z graficznym interfejsem administracyjnym. W porównaniu do roli SMTP Server oferuje:
- Nowoczesny GUI zamiast przestarzałej konsoli IIS 6.0
- Wbudowaną obsługę DKIM
- SpamAssassin integration
- Wsparcie dla wielu domen i kont
- Reguły filtrowania wiadomości
- Baza danych (MySQL, MSSQL, PostgreSQL) zamiast plików
hMailServer jest szczególnie polecany dla Windows Server 2022 i nowszych, gdzie potrzebna jest większa elastyczność niż oferuje wbudowany SMTP.
Postfix (Linux)
Jeśli w infrastrukturze są serwery Linux, Postfix jest standardem branżowym dla SMTP relay:
- Bardzo wysoka wydajność i stabilność
- Natywne wsparcie DKIM (przez OpenDKIM), SPF, DMARC
- Zaawansowane reguły relay (transport maps)
- Doskonała dokumentacja i społeczność
Usługi relay w chmurze
Dla organizacji preferujących rozwiązania SaaS:
- SendGrid — do 100 wiadomości/dzień za darmo, API + SMTP relay
- Amazon SES — od $0.10 za 1000 wiadomości, integracja z AWS
- Mailgun — zaawansowany routing, webhook, analityka
14. Najczęściej zadawane pytania (FAQ)
Czy SMTP Relay na Windows Server jest bezpieczny?
Tak, pod warunkiem prawidłowej konfiguracji. Kluczowe elementy bezpieczeństwa to: ograniczenie Relay Restrictions do zaufanych IP, włączenie TLS, konfiguracja SPF/DKIM/DMARC oraz regularne monitorowanie logów. Nigdy nie konfiguruj open relay — serwer natychmiast zostanie wykorzystany do wysyłania spamu.
Jaka jest różnica między SMTP Relay a SMTP Client Submission?
SMTP Relay (port 25) przekazuje pocztę między serwerami, uwierzytelniając się najczęściej na podstawie adresu IP. SMTP Client Submission (port 587) jest przeznaczony dla klientów pocztowych i wymaga uwierzytelniania loginem i hasłem. Relay obsługuje wyższy wolumen i nie wymaga skrzynki pocztowej nadawcy.
Czy mogę używać SMTP Relay z Microsoft 365 bez licencji Exchange?
Do konfiguracji connectora w Exchange Online potrzebujesz co najmniej jednej licencji Exchange Online (np. w ramach Microsoft 365 Business Standard). Sam adres nadawcy relay nie musi mieć przypisanej skrzynki, ale domena musi być zweryfikowana w tenancie M365.
Co zrobić, gdy wiadomości trafiają do spamu?
Sprawdź kolejno: (1) Czy rekord SPF zawiera IP serwera relay, (2) Czy DKIM jest włączony w Exchange Online, (3) Czy masz rekord DMARC, (4) Czy publiczny IP serwera nie jest na blackliście (sprawdź na mxtoolbox.com), (5) Czy wiadomości zawierają poprawne nagłówki From i Return-Path.
Czy rola SMTP Server jest dostępna w Windows Server 2025?
Nie. Microsoft usunął wbudowaną rolę SMTP Server w Windows Server 2025. Dla nowych wdrożeń na Server 2025 zalecamy hMailServer, Postfix (na WSL lub oddzielnym serwerze Linux) lub usługę relay w chmurze (SendGrid, Amazon SES). Na Windows Server 2022 i Windows Server 2019 rola SMTP jest w pełni wspierana.
15. Podsumowanie i rekomendacje
Konfiguracja SMTP Relay na Windows Server to fundamentalna umiejętność każdego administratora infrastruktury serwerowej. Prawidłowo skonfigurowany relay centralizuje wysyłkę poczty z wielu aplikacji i urządzeń, zapewniając kontrolę, bezpieczeństwo i dostarczalność wiadomości.
Kluczowe kroki konfiguracji — podsumowanie
- Instalacja roli SMTP Server — przez Server Manager lub PowerShell
- Konfiguracja IIS 6.0 Manager — domena, ograniczenia relay, smart host
- Zabezpieczenie — TLS, relay restrictions, SPF/DKIM/DMARC
- Testowanie — PowerShell Send-MailMessage, Telnet, Test-NetConnection
- Monitoring — logi SMTP, Performance Monitor, alerty
Rekomendowane produkty
Do wdrożenia SMTP Relay potrzebujesz licencji Windows Server. W naszej ofercie znajdziesz:
Najnowsza wersja z pełnym wsparciem roli SMTP Server, TLS 1.3 i ulepszonymi zabezpieczeniami.
Edycja dla dużych środowisk z nieograniczoną wirtualizacją i Azure Hybrid Benefit.
Sprawdzona platforma z pełnym wsparciem SMTP Relay — idealna dla firm z istniejącą infrastrukturą.
Licencja Exchange Online niezbędna do konfiguracji SMTP Relay przez connector M365.
Jeśli planujesz wdrożenie Exchange Server on-premises, zapoznaj się z naszym poradnikiem konfiguracji. Dla zaawansowanej automatyzacji sprawdź artykuł o PowerShell na Windows Server, a do zarządzania użytkownikami i GPO — poradnik Active Directory. W praktyce zakupowej pasuje tu rowniez licencja Nuance Power PDF Advanced perpetual od 650 zl.
Potrzebujesz licencji Windows Server dla swojego SMTP Relay?
W KluczeSoft oferujemy oryginalne klucze licencyjne z natychmiastową dostawą cyfrową. Sprawdź nasze licencje Windows Server — z gwarancją aktywacji i wsparciem technicznym.
Masz pytanie do tego artykulu?
Zespol KluczeSoft chetnie odpowie. Pomagamy w wyborze licencji Microsoft, faktur KSeF i zakupach B2B.
Skontaktuj sie Centrum pomocy