Home / Посібники / Як створити сучасну контактну форму без SMTP або налаштування сервера електронної пошти
ІНЖЕНЕРНИЙ ПОСІБНИК · АРХІТЕКТУРА ТА БЕЗПЕКА

Як створити сучасну контактну форму без SMTP або налаштування сервера електронної пошти

Комплексний інженерний посібник із відокремлення веб-форм від крихких SMTP-серверів, покращення доставки до 99,8% і усунення облікових даних електронної пошти з відкритим текстом із веб-інфраструктури.

1. Чому традиційний SMTP не працює на сучасних веб-сайтах

Десятиліттями розробники налаштовували облікові дані PHPMailer або SMTP безпосередньо в коді свого веб-сайту або в базах даних CMS. У безсерверних, статичних (Jamstack) і периферійних обчислювальних середовищах це створює серйозні архітектурні недоліки: відкриті облікові дані в пакетах клієнтів, тайм-аути підключення та збої доставки SPF/DKIM/DMARC.

warning

Ніколи не вставляйте паролі SMTP або секретні ключі в пакети HTML на стороні клієнта або інтерфейсні JavaScript. Використовуйте спеціальні кінцеві точки прийому HTTP.

2. Архітектура прийому відокремленої форми

Замість того, щоб веб-сервери синхронно підключалися до портів SMTP під час запиту HTTP, сучасні архітектури використовують роз’єднаний потік транзакцій. Клієнт надсилає стандартне корисне навантаження HTTPS POST до кінцевої точки API. Сервер перевіряє та атомарно зберігає запит у PostgreSQL перед тим, як асинхронні робочі надсилають сповіщення.

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. Вбудований захист від спаму без руйнівних CAPTCHA

Lugatu перевіряє вхідні подання для автоматизованих ботів, використовуючи невидимі приманки та обмеження швидкості. Законні відвідувачі надсилають форми без проблем, не вирішуючи головоломок із розпізнаванням зображень.

4. Гнучкі режими сповіщень і надійне збереження

Навіть якщо квоти вихідної електронної пошти досягнуто, усі повідомлення залишаються у вашій робочій скриньці вхідних. Ви можете вибрати миттєві сповіщення, щоденні дайджести або щотижневі підсумки для кожної форми.

Інваріант безпеки та автентифікації

Інструкція з безпеки: ніколи не зберігайте паролі сторонніх SMTP-серверів на зовнішніх веб-серверах. Маршрутизація через HTTPS POST до авторизованої кінцевої точки прийому усуває вектори крадіжки облікових даних.

Усунення несправностей і поширені помилки передавання

Електронні листи потрапляють у папки спаму, коли вони надсилаються безпосередньо із серверів

Lugatu автентифікує вихідні транзакційні електронні листи за допомогою IP-пулів Amazon SES із високою репутацією, налаштованих із дійсним узгодженням SPF, DKIM і DMARC.

Часті запитання

Чи підтримує Lugatu завантаження файлів у контактні форми?

так Lugatu підтримує безпечні проскановані на віруси вкладення за допомогою попередньо підписаних маркерів завантаження та приватного сховища.

Готові створити кінцеву точку форми?

Почніть безкоштовно за лічені секунди. Кредитна картка не потрібна.

Почніть безкоштовно →