Home / Sprievodcovia / Ako vytvoriť moderný kontaktný formulár bez nastavenia SMTP alebo e-mailového servera
TECHNICKÝ SPRIEVODCA · ARCHITEKTÚRA A ZABEZPEČENIE

Ako vytvoriť moderný kontaktný formulár bez nastavenia SMTP alebo e-mailového servera

Komplexná technická príručka o oddelení webových formulárov od krehkých serverov SMTP, zlepšení doručiteľnosti na 99,8 % a odstránení prihlasovacích údajov e-mailov vo forme čistého textu z webovej infraštruktúry.

1. Prečo tradičné SMTP na moderných webových stránkach zlyháva

Po desaťročia vývojári konfigurovali poverenia PHPMailer alebo SMTP priamo v kóde svojich webových stránok alebo v databázach CMS. V bezserverových, statických (Jamstack) a okrajových počítačových prostrediach to vytvára vážne architektonické chyby: odhalené poverenia v klientskych balíkoch, časové limity pripojenia a zlyhania doručiteľnosti SPF/DKIM/DMARC.

warning

Nikdy nevkladajte heslá SMTP ani tajné kľúče do balíkov HTML na strane klienta alebo frontendu JavaScript. Použite vyhradené koncové body príjmu HTTP.

2. Architektúra oddeleného prijímania formulárov

Namiesto toho, aby sa webové servery synchrónne pripájali k portom SMTP počas požiadavky HTTP, moderné architektúry používajú oddelený transakčný tok. Klient odošle štandardný náklad HTTPS POST do koncového bodu API. Koncový server overí a atomárne zachová dopyt do PostgreSQL predtým, ako asynchrónni pracovníci odošlú upozornenia.

contact-form.html html
<!-- Vanilla HTML Form with Lugatu Form Endpoint -->
<form id="inquiry-form">
  <label for="name">Your Name</label>
  <input type="text" id="name" name="name" required />

  <label for="email">Work Email</label>
  <input type="email" id="email" name="email" required />

  <label for="message">Project Details</label>
  <textarea id="message" name="message" rows="4" required></textarea>

  <!-- Built-in Honeypot Bot Trap -->
  <input type="text" name="_gotcha" style="display:none !important" tabindex="-1" autocomplete="off" />

  <button type="submit">Send Inquiry</button>
</form>

<script>
document.getElementById('inquiry-form').addEventListener('submit', async (e) => {
  e.preventDefault();
  const form = e.target;
  const data = new FormData(form);

  const payload = {
    fields: {
      name: data.get('name'),
      email: data.get('email'),
      message: data.get('message')
    },
    honeypot: data.get('_gotcha') || ''
  };

  const res = await fetch('https://www.lugatu.com/api/v1/public/forms/YOUR_PUBLIC_FORM_ID/submissions', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },
    body: JSON.stringify(payload)
  });

  if (res.ok) {
    alert('Inquiry sent successfully!');
    form.reset();
  }
});
</script>

3. Zabudovaná ochrana proti spamu bez rušivých obrázkov CAPTCHA

Lugatu kontroluje prichádzajúce podania pre automatizované roboty pomocou neviditeľných honeypotov a obmedzením rýchlosti. Legitímni návštevníci odosielajú formuláre bez problémov bez riešenia hádaniek s rozpoznávaním obrázkov.

4. Flexibilné režimy upozornení a trvanlivé uchovanie

Aj keď sa dosiahnu kvóty odchádzajúcich e-mailov, všetky podania zostanú zachované v doručenej pošte vášho pracovného priestoru. Môžete si vybrať okamžité upozornenia, denné súhrny alebo týždenné súhrny pre každý formulár.

Bezpečnosť a nemenné overenie

Bezpečnostné pokyny: Nikdy neukladajte heslá serverov SMTP tretích strán na frontend webových serveroch. Smerovanie cez HTTPS POST do autorizovaného koncového bodu prijímania eliminuje vektory krádeže poverení.

Riešenie problémov a bežné chyby príjmu

E-maily sa dostanú do priečinkov spamu, keď sú odoslané priamo zo serverov

Lugatu overuje odchádzajúce transakčné e-maily pomocou vysoko uznávaných fondov Amazon SES IP nakonfigurovaných s platným zarovnaním SPF, DKIM a DMARC.

Často kladené otázky

Podporuje Lugatu nahrávanie súborov v kontaktných formulároch?

áno. Lugatu podporuje zabezpečené prílohy naskenované vírusmi pomocou vopred podpísaných tokenov nahrávania a súkromného úložiska.

Ste pripravení vytvoriť koncový bod formulára?

Začnite zadarmo za pár sekúnd. Nevyžaduje sa žiadna kreditná karta.

Začnite zadarmo →