Nawigacja bloga

Najnowsze posty

Kopia zapasowa Windows 11 — kompletny poradnik backup i odzyskiwania
Kopia zapasowa Windows 11 — kompletny poradnik backup i odzyskiwania
9 wyświetlenia 0 Lubię
Kopia zapasowa Windows 11 — kompletny poradnik backup i odzyskiwania Backup w Windows 11 nie jest...
Czytaj więcej
Microsoft Access 2024 — bazy danych dla małych firm i urzędów
Microsoft Access 2024 — bazy danych dla małych firm i urzędów
9 wyświetlenia 0 Lubię
Microsoft Access 2024 — bazy danych dla małych firm i urzędów W wielu organizacjach porządek w...
Czytaj więcej
Microsoft Word 2024 — zaawansowane formatowanie dokumentów
Microsoft Word 2024 — zaawansowane formatowanie dokumentów
12 wyświetlenia 0 Lubię
Microsoft Word 2024 — zaawansowane formatowanie dokumentów Microsoft Word 2024 — zaawansowane...
Czytaj więcej
Home office 2026 — najlepsze oprogramowanie do pracy zdalnej
Home office 2026 — najlepsze oprogramowanie do pracy zdalnej
7 wyświetlenia 0 Lubię
Home office 2026 — najlepsze oprogramowanie do pracy zdalnej Praca zdalna w 2026 roku nie...
Czytaj więcej
Partycjonowanie dysku w Windows 11 — kompletny poradnik
Partycjonowanie dysku w Windows 11 — kompletny poradnik
9 wyświetlenia 0 Lubię
Partycjonowanie dysku w Windows 11 — kompletny poradnik Partycjonowanie dysku w Windows 11...
Czytaj więcej

SMTP Relay na Windows Server — konfiguracja wysyłania poczty z aplikacji

111 Odsłony 0 Polubiony
 

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ógOpisWeryfikacja
Windows Server 2019/2022Standard lub Datacenter z aktualnym Service Packwinver lub Get-ComputerInfo | Select OsName, OsVersion
Statyczny adres IPSerwer relay musi mieć stały IP (wewnętrzny i/lub publiczny)ipconfig /all
Dostęp do portu 25TCP port 25 otwarty w firewallu dla ruchu wychodzącegoTest-NetConnection smtp.office365.com -Port 25
Konto administratoraUprawnienia do instalacji ról i konfiguracji IISCzłonkostwo w grupie Administrators
Rekordy DNSSPF, opcjonalnie DKIM i DMARC dla domeny nadawcynslookup -type=TXT domena.pl
Smart host (opcjonalnie)Dane serwera docelowego: FQDN, port, ewentualne dane logowaniaDokumentacja 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)

  1. Otwórz Server ManagerManageAdd Roles and Features
  2. W kreatorze kliknij Next aż do ekranu Features
  3. Zaznacz SMTP Server — system poprosi o dodanie zależności (IIS, IIS 6 Management Compatibility)
  4. Potwierdź dodanie wymaganych funkcji i kliknij Install
  5. 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)

  1. Otwórz inetmgr6.exe
  2. Kliknij prawym przyciskiem na [SMTP Virtual Server #1]Properties
  3. 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 skanerami
  • 10.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:

  1. Kliknij prawym na DomainsNewDomain...
  2. Wybierz Remote (nie Alias!)
  3. Wpisz nazwę domeny, np. twojafirma.pl
  4. We właściwościach nowej domeny możesz skonfigurować smart host specyficzny dla tej domeny

5.4. Delivery — Smart Host

Na karcie Delivery:

  1. Kliknij Advanced...
  2. 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
  3. 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:

MetodaPortUwierzytelnianieLimitNajlepsze dla
SMTP Client Submission587Basic Auth (login/hasło)30 msg/minPojedyncze aplikacje
Direct Send25BrakTylko do M365Powiadomienia wewnętrzne
SMTP Relay (connector)25IP-based trust10 000 odb./dzieńWiele urządzeń, wysoki wolumen

Krok 1: Utwórz connector w Exchange Admin Center

  1. Zaloguj się do Exchange Admin Center
  2. Przejdź do Mail flowConnectors
  3. Kliknij + Add a connector
  4. Connection from: Your organization's email server (On-premises)
  5. Connection to: Office 365
  6. Nazwa: np. „Windows Server SMTP Relay"
  7. Routing: wybierz authenticating IP address
  8. Dodaj publiczny statyczny IP Twojego serwera relay
  9. Zapisz i przetestuj connector

Krok 2: Whitelist IP w Connection Filter

  1. Przejdź do Microsoft 365 DefenderPolicies & rulesThreat policiesAnti-spam
  2. Otwórz Connection filter policy
  3. 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

  1. Zaloguj się do admin.google.com
  2. Przejdź do AppsGoogle WorkspaceGmailRouting
  3. Znajdź sekcję SMTP relay service i kliknij Configure
  4. 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

  1. Otwórz IIS 6.0 Manager
  2. Kliknij prawym na [SMTP Virtual Server #1]Properties
  3. Karta Access → przycisk Certificate...
  4. Uruchomi się kreator Web Server Certificate — wybierz Assign an existing certificate
  5. Wybierz certyfikat z listy i zakończ kreator
  6. Na karcie AccessCommunication... → zaznacz Require TLS encryption

Konfiguracja Outbound TLS

Na karcie DeliveryOutbound 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żkaZawartość
QueueC:\inetpub\mailroot\QueueWiadomości oczekujące na wysłanie
PickupC:\inetpub\mailroot\PickupPliki .eml do pobrania i wysłania
DropC:\inetpub\mailroot\DropWiadomości dostarczone lokalnie
BadmailC:\inetpub\mailroot\BadmailWiadomoś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ówLokalizacjaCo zawiera
SMTP Server LogsC:\Windows\System32\LogFiles\SMTPSVC1Sesje SMTP, kody odpowiedzi, nadawcy/odbiorcy
Event ViewerApplication Log, źródło: SMTPSVCBłędy usługi, ostrzeżenia konfiguracyjne
Queue/BadmailC:\inetpub\mailroot\BadmailNiedostarczone wiadomości z nagłówkami błędów

12.2. Najczęstsze błędy i rozwiązania

ProblemObjawRozwiązanie
Port 25 zablokowanyTimeout przy Test-NetConnectionSprawdź Windows Firewall, firewall sieciowy, polityki ISP
550 5.7.1 Relay deniedWiadomości odrzucaneDodaj IP nadawcy do Relay Restrictions w IIS 6.0 Manager
550 5.7.54 SMTP relay not permittedOdrzucenie przez M365Sprawdź connector w Exchange Admin Center — IP musi się zgadzać
421 4.7.0 Temporary server errorChwilowe odrzucenieThrottling M365 — zmniejsz częstotliwość wysyłki
Wiadomości w kolejceNarastająca kolejka w C:\inetpub\mailroot\QueueSprawdź dostępność smart hosta, DNS resolution, port 25
Usługa SMTPSVC nie startujeBłąd w Event Viewer: Event ID 115Sprawdź powiązanie IP (netstat), upewnij się, że port 25 nie jest zajęty
Wiadomości w spamieE-maile trafiają do folderu JunkSprawdź 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

  1. Instalacja roli SMTP Server — przez Server Manager lub PowerShell
  2. Konfiguracja IIS 6.0 Manager — domena, ograniczenia relay, smart host
  3. Zabezpieczenie — TLS, relay restrictions, SPF/DKIM/DMARC
  4. Testowanie — PowerShell Send-MailMessage, Telnet, Test-NetConnection
  5. Monitoring — logi SMTP, Performance Monitor, alerty

Rekomendowane produkty

Do wdrożenia SMTP Relay potrzebujesz licencji Windows Server. W naszej ofercie znajdziesz:

Windows Server 2022 Standard

Najnowsza wersja z pełnym wsparciem roli SMTP Server, TLS 1.3 i ulepszonymi zabezpieczeniami.

Windows Server 2022 Datacenter

Edycja dla dużych środowisk z nieograniczoną wirtualizacją i Azure Hybrid Benefit.

Windows Server 2019 Standard

Sprawdzona platforma z pełnym wsparciem SMTP Relay — idealna dla firm z istniejącą infrastrukturą.

Microsoft 365 Business Standard

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.

Polecane produkty

Najczesciej zadawane pytania

Ile licencji CAL potrzebuję?

Tyle ile masz użytkowników (User CAL) lub urządzeń (Device CAL) łączących się z serwerem — zależy od modelu licencjonowania.

Czym się różni Windows Server Standard od Datacenter?

Datacenter pozwala na nieograniczoną liczbę maszyn wirtualnych. Standard obejmuje maksymalnie 2 VM na licencję.

Czy Windows Server wymaga osobnych licencji dostępowych?

Tak, oprócz licencji serwerowej potrzebujesz licencji CAL (Client Access License) dla każdego użytkownika lub urządzenia.

 
Czy ten wpis na blogu był dla Ciebie pomocny?

Dodaj komentarz

Kod zabezpieczający
z VAT
🛒 Do koszyka