Přeskočit na hlavní obsah

Nastavení SMTP serveru - API

Jak přes REST API uložit, přečíst a otestovat nastavení SMTP serveru pro odesílání e-mailů z firmy.

Autor: Petr Pech

SMTP server, přes který firma odesílá e-maily, lze nastavit i přes REST API. Slouží k tomu adresa /c/{firma}/nastaveni/smtp, kde {firma} je databázový identifikátor firmy.


Uložení nastavení

Nastavení uložíte metodou POST nebo PUT s následujícím XML v těle požadavku:

<nastaveni-smtp> 
<!-- Adresa serveru -->
<host>vzor.seznam.cz</host>
<!-- Port serveru -->
<port>465</port>
<!-- Uživatel -->
<username>vzor@seznam.cz</username>
<!-- Heslo -->
<password>tajnehelso</password>
<!-- Výchozí odesílatel -->
<defaultFrom>Jméno Odesílatele &lt;vzor@seznam.cz&gt;</defaultFrom>
<!-- Zabezpečení spojení -->
<encryptionMode>SSL</encryptionMode>
</nastaveni-smtp>

Položka

Význam

host

Adresa SMTP serveru

port

Port serveru

username

Uživatelské jméno pro přihlášení k SMTP

password

Heslo

defaultFrom

Výchozí odesílatel. Uvádí-li se i jméno v lomených závorkách, musí být v XML zakódované jako &lt; a &gt;.

encryptionMode

Zabezpečení spojení, například SSL


Přečtení nastavení

Uložené nastavení přečtete metodou GET. Namísto hesla získáte pouze příznak o tom, zda je vyplněno:

<nastaveni-smtp> 
...
<password filled="true"></password>
...
</nastaveni-smtp>

ℹ️ Pokud SMTP server ve firmě zatím nastavený není, vrátí GET stavový kód 404 se zprávou „Není nastaven SMTP server" a kódem smtpSeverNotSet. Není to chyba volání — jen informace, že konfigurace chybí.

⚠️ Uvádějte příponu .xml nebo .json (případně pošlete hlavičku Accept). Bez ní vrátí server chybu jako HTML stránku a strukturovanou zprávu nezískáte.


Odeslání testovacího e-mailu

Funkčnost nastavení si můžete ověřit odesláním testovacího e-mailu — metodou GET s parametrem testMail, ve kterém uvedete adresu příjemce:

GET /c/{firma}/nastaveni/smtp.xml?testMail=adresat@testu.cz

⚠️ Toto volání skutečně odešle e-mail na zadanou adresu. Používejte jej proto s vlastní adresou, ne s adresou zákazníka.

Dostali jste odpověď na svou otázku?