Nápověda CZECHIA.COM

Zákaznická a technická podpora 24/7

Ukončení podpory odesílání e-mailů bez autentizace (SMTP)

Od 1. listopadu 2025 začíná postupné vypínání odesílání přes lokální SMTP server bez přihlášení. K definitivnímu ukončení dojde 1. prosince 2025.

Koho se změna týká

  • aplikací používajících mail() v PHP, pokud posílá přes lokální SMTP bez přihlášení,
  • skriptů a aplikací na Windows serverech využívajících odesílání přes lokální SMTP Server bez autentizace jménem a heslem (.NET, PowerShell, naplánované úlohy apod.)

Proč se to děje

Odesílání bez autentizace neodpovídá zásadám bezpečné komunikace: chybí ověření odesílatele a ochranné prvky jako SPF, DKIM a DMARC. Důsledkem bývá zařazení serveru na blacklisty a doručování do spamu.

Harmonogram

  • 1. 11. 2025 – start postupného vypínání (nejdříve webhostingy),
  • do 30. 11. 2025 – přejděte na autentizované SMTP,
  • 1. 12. 2025 – úplné ukončení (včetně managed serverů).

Co udělat teď

  1. Zmapujte místa, kde aplikace posílají e-maily bez přihlášení (PHP, .NET, PowerShell, plánovač).
  2. Přejděte na odesílání přes autentizovaný SMTP server (uživatelské jméno + heslo, TLS/SSL).
  3. Nastavte DNS záznamy pro doručitelnost: SPF, DKIM, DMARC.
  4. Otestujte odeslání (test na vlastní schránky i k externím poskytovatelům).
  5. Předejte informaci webmasterovi nebo správci IT, pokud web nespravujete sami.

Ukázky nastavení

PHP – PHPMailer

// Instalace přes Composer:
// composer require phpmailer/phpmailer

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;

require __DIR__ . '/vendor/autoload.php';

$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host       = 'smtp.vasedomena.cz';
$mail->Port       = 587;                // 587 = STARTTLS, 465 = SMTPS/SSL
$mail->SMTPAuth   = true;
$mail->Username   = 'uzivatel@vasedomena.cz';
$mail->Password   = '***silne-heslo***';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // nebo PHPMailer::ENCRYPTION_SMTPS

$mail->setFrom('uzivatel@vasedomena.cz', 'Jméno odesílatele');
$mail->addAddress('prijemce@domena.cz');
$mail->Subject = 'Testovací e-mail';
$mail->Body    = 'Toto je testovací zpráva.';

$mail->send();

.NET (C#) – System.Net.Mail

using System.Net;
using System.Net.Mail;

var smtp = new SmtpClient("smtp.vasedomena.cz")
{
    Port = 587,
    EnableSsl = true,
    Credentials = new NetworkCredential("uzivatel@vasedomena.cz", "***silne-heslo***")
};

var mail = new MailMessage
{
    From = new MailAddress("uzivatel@vasedomena.cz", "Jméno odesílatele"),
    Subject = "Testovací e-mail",
    Body = "Toto je testovací zpráva."
};
mail.To.Add("prijemce@domena.cz");

smtp.Send(mail);

Nejčastější chyby a řešení

Projev / chyba Pravděpodobná příčina Řešení
5.7.57 Client not authenticated / „Relaying denied“ Odesílání bez přihlášení nebo špatné údaje Povolte SMTPAuth, ověřte uživatelské jméno/heslo, použijte TLS/SSL.
Zprávy padají do spamu Chybí SPF/DKIM/DMARC, reputace IP Nastavte SPF, DKIM, DMARC; slaďte adresu From s doménou odesílatele.
Nelze se připojit k SMTP (timeout) Špatný host/port, firewall Ověřte host, port 587/465 a povolení odchozí komunikace.
Chyba certifikátu SSL kontrola selhala Použijte platný certifikát serveru nebo STARTTLS (587).

FAQ

Musím přestat používat mail() v PHP?

Nemusíte nutně, ale doporučujeme přejít na knihovnu s přímou podporou SMTP (např. PHPMailer). Odesílání přes lokální server bez přihlášení přestane fungovat.

Jaké údaje k SMTP potřebuji?

Server (host), port (587 nebo 465), uživatelské jméno (plná e-mailová adresa), heslo a způsob šifrování (STARTTLS/SSL). Tyto údaje poskytne správce pošty.

Co když web spravuje externí dodavatel?

Předejte mu prosím tuto informaci a požádejte o úpravu konfigurace. Bez přechodu na autentizované SMTP hrozí nedoručování e-mailů.