چگونه یک فرم تماس مدرن بدون راه اندازی SMTP یا ایمیل سرور بسازیم
یک راهنمای مهندسی جامع در مورد جدا کردن فرمهای وب از سرورهای شکننده SMTP، بهبود قابلیت تحویل به 99.8٪ و حذف اعتبار نامههای متن شفاف از زیرساخت وب.
1. چرا SMTP سنتی در وب سایت های مدرن شکست می خورد؟
برای چندین دهه، توسعه دهندگان اعتبار PHPMailer یا SMTP را مستقیماً در کد وب سایت یا پایگاه داده های CMS خود پیکربندی می کردند. در محیطهای بدون سرور، استاتیک (Jamstack) و محاسبات لبهای، این نقصهای معماری شدیدی ایجاد میکند: اعتبارنامههای آشکار در بستههای کلاینت، زمانبندی اتصال، و شکستهای تحویلپذیری SPF/DKIM/DMARC.
هرگز گذرواژههای SMTP یا کلیدهای مخفی را در HTML سمت سرویس گیرنده یا بستههای جاوا اسکریپت frontend قرار ندهید. از نقاط پایانی جذب HTTP اختصاصی استفاده کنید.
2. معماری جذب فرم جدا شده
به جای اتصال همزمان سرورهای وب به پورت های SMTP در طول درخواست HTTP، معماری های مدرن از یک جریان تراکنش جدا شده استفاده می کنند. مشتری یک بارگذاری استاندارد HTTPS POST را به یک نقطه پایانی API ارسال می کند. پیش از اینکه کارگران ناهمزمان اعلانها را ارسال کنند، بکاند اعتبار سنجی میکند و به صورت اتمی پرسوجو درباره PostgreSQL را ادامه میدهد.
<!-- 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های مخرب
لوگاتو ارسالهای دریافتی را برای رباتهای خودکار با استفاده از هانیپاتهای نامرئی و محدودیت نرخ بررسی میکند. بازدیدکنندگان قانونی فرم ها را بدون حل معماهای تشخیص تصویر ارسال می کنند.
4. حالت های اعلان انعطاف پذیر و حفظ بادوام
حتی اگر به سهمیه ایمیل های خروجی رسیده باشد، همه ارسالی ها در صندوق ورودی فضای کاری شما حفظ می شوند. میتوانید هشدارهای فوری، خلاصههای روزانه یا خلاصههای اجرایی هفتگی را در هر فرم انتخاب کنید.
امنیت و احراز هویت ثابت
دستورالعمل امنیتی: هرگز رمزهای عبور سرور SMTP شخص ثالث را در سرورهای وب ظاهری ذخیره نکنید. مسیریابی از طریق HTTPS POST به نقطه پایانی مجاز انتقال، بردارهای سرقت اعتبار را حذف می کند.
عیب یابی و خطاهای رایج بلع
Lugatu ایمیلهای تراکنشهای خروجی را با استخرهای IP آمازون SES با شهرت بالا که با SPF، DKIM و تراز DMARC معتبر پیکربندی شدهاند، احراز هویت میکند.
سوالات متداول
آیا لوگاتو از آپلود فایل در فرم های تماس پشتیبانی می کند؟
بله. Lugatu از پیوست های ایمن اسکن شده توسط ویروس با استفاده از نشانه های آپلود از قبل امضا شده و فضای ذخیره سازی خصوصی پشتیبانی می کند.
برای ایجاد نقطه پایانی فرم خود آماده هستید؟
در عرض چند ثانیه به صورت رایگان شروع کنید. بدون نیاز به کارت اعتباری