Všechny sbírky
Dokumentace REST API
Pokročilé příkazy
Konfigurace vlastního SMTP v REST API
Konfigurace vlastního SMTP v REST API

Jak nastavit SMTP server pomocí REST API Flexi?

Ota Rádl avatar
Autor: Ota Rádl
Aktualizováno před více než týdnem

V desktopové aplikaci je možné nastavit SMTP server v menu Nástroje -> Nastavení SMTP serveru. Pro zpřístupnění této funkce musí uživatel mít roli ADMIN s právy serveru - Přistupovat do všech firem.

Toto nastavení je možné provést i pomocí REST API. Pomocí API je možné nastavit SMTP server na adrese: /c/{firma}/nastaveni/smtp, kde {firma} je databázový identifikátor firmy.

Nastavení lze uložit HTTP metodou POST nebo PUT, která bude mít v těle požadavku následující parametry:

  • host - adresa Vašeho nebo externí adresa SMTP serveru.

  • port - Port SMTP serveru (465, 587, ...)

  • username - Emailová adresa uživatele. (pokud SMTP server vyžaduje autentizaci)

  • password - Heslo k emailové adrese uživatele. (pokud SMTP server vyžaduje autentizaci)

  • defaultFrom - výchozí odesílatel, po vzoru výše je možné doplnit jméno odesílatele, případně je možné ponechat pouze emailovou adresu.

  • encryptionMode - Režim zabezpečení SMTP komunikace (SSL, TLS, ...)

Příklady použití

1. Uložení nastavení SMTP do ABRA Flexi:

POST https://demo.flexibee.eu/c/demo/nastaveni/smtp.xml

Tělo požadavku v XML:

<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>

Odpověď ABRA Flexi je pak aktualizace záznamu:

<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<success>true</success>
<stats>
<created>0</created>
<updated>1</updated>
<deleted>0</deleted>
<skipped>0</skipped>
<failed>0</failed>
</stats>
<results></results>
</winstrom>

2. Čtení uloženého nastavení provedeme HTTP metodou GET:

GET https://demo.flexibee.eu/c/demo/nastaveni/smtp.xml

Odpověď ABRA Flexi je pak přehled nastavení SMTP:

<?xml version="1.0" ?>
<nastaveni-smtp>
<defaultFrom>vzor@seznam.cz</defaultFrom>
<encryptionMode>SSL</encryptionMode>
<host>smtp.seznam.cz</host>
<password filled="true"></password>
<port>465</port>
<username>vzor@seznam.cz</username>
</nastaveni-smtp>

Při čtení uloženého nastavení pomocí metody GET získáte namísto hesla pouze příznak o tom, zda je vyplněno filled=true.

3. Otestování nastavení pomocí testovacího emailu, použijeme HTTP metodu GET s parametrem testMail.:

GET https://demo.flexibee.eu/c/demo/nastaveni/smtp.xml?testMail=adresat@testu.cz

V emailové schránce adresat@testu.cz se objeví email:

Předmět: Testovací email
Testovací email ze systému ABRA Flexi.

Neúspěšné requesty

1. Špatně zadaný port
V případě, že zadáte nevalidní port je odpověď API:

<message>java.lang.IllegalArgumentException: port out of range:4651111</message>

2. Defaultní odesílatel ve špatném tvaru

V případě, že je zadáno bez validního emailu, email je nutné zadat se znaky &lt; a &gt;

<message>Výchozí odesílatel musí obsahovat jednu adresu ve tvaru 'Jméno Příjmení &lt;uzivatel@domena.cz&gt;' nebo 'uzivatel@domena.cz'.</message>

3. Špatně nastavení SMTP, nelze zaslat testovací email

V případě, že nedojde k odeslání testovacího emailu je odpověď API:

<message>com.sun.mail.util.MailConnectException: Couldn't connect to host, port: vzor.seznam.cz, 465; timeout 30000; nested exception is:
java.net.UnknownHostException: vzor.seznam.cz
Couldn't connect to host, port: vzor.seznam.cz, 465; timeout 30000
vzor.seznam.cz</message>

FAQ


Potřebujete poradit?

V případě dotazů k aplikaci nás kontaktujte na podporaflexi@abra.eu případně prostřednictvím chat okna v pravém dolním rohu.

Dostali jste odpověď na svou otázku?