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.
[email protected] - 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 "[email protected]" `
-To "[email protected]" `
-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 "[email protected]" `
-To "[email protected]" `
-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 "[email protected]" `
-To "[email protected]" `
-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:<[email protected]>
# RCPT TO:<[email protected]>
# 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 = "[email protected]"
$message.To.Add("[email protected]")
$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:[email protected]; 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:<[email protected]>
# 250 2.1.0 [email protected] OK
RCPT TO:<[email protected]>
# 250 2.1.5 [email protected]
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.
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.
Dodaj komentarz