วิธีสร้างแบบฟอร์มการติดต่อที่ทันสมัยโดยไม่ต้องตั้งค่า SMTP หรือเซิร์ฟเวอร์อีเมล
คู่มือทางวิศวกรรมที่ครอบคลุมเกี่ยวกับการแยกแบบฟอร์มเว็บออกจากเซิร์ฟเวอร์ SMTP ที่เปราะบาง ปรับปรุงความสามารถในการส่งเป็น 99.8% และกำจัดข้อมูลรับรองอีเมลแบบเคลียร์เท็กซ์จากโครงสร้างพื้นฐานของเว็บ
1. เหตุใด SMTP แบบดั้งเดิมจึงล้มเหลวบนเว็บไซต์สมัยใหม่
เป็นเวลาหลายทศวรรษแล้วที่นักพัฒนากำหนดค่าข้อมูลรับรอง PHPMailer หรือ SMTP โดยตรงในโค้ดเว็บไซต์หรือฐานข้อมูล CMS ในสภาพแวดล้อมการประมวลผลแบบไร้เซิร์ฟเวอร์ คงที่ (Jamstack) และ Edge สิ่งนี้จะสร้างข้อบกพร่องทางสถาปัตยกรรมที่รุนแรง: ข้อมูลรับรองที่ถูกเปิดเผยในชุดไคลเอนต์ การหมดเวลาการเชื่อมต่อ และความล้มเหลวในการส่งมอบ SPF/DKIM/DMARC
ห้ามฝังรหัสผ่าน SMTP หรือคีย์ลับในชุด HTML ฝั่งไคลเอ็นต์หรือ JavaScript ส่วนหน้า ใช้ปลายทางการนำเข้า 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 ที่รบกวน
Lugatu ตรวจสอบการส่งบอทอัตโนมัติที่เข้ามาโดยใช้ฮันนี่พอตที่มองไม่เห็นและการจำกัดอัตรา ผู้เยี่ยมชมที่ถูกต้องตามกฎหมายส่งแบบฟอร์มได้อย่างราบรื่นโดยไม่ต้องไขปริศนาการจดจำภาพ
4. โหมดการแจ้งเตือนที่ยืดหยุ่นและการเก็บรักษาที่คงทน
แม้ว่าโควตาอีเมลขาออกจะถึงโควต้าแล้ว การส่งทั้งหมดจะยังคงอยู่ในกล่องจดหมายของพื้นที่ทำงานของคุณ คุณสามารถเลือกการแจ้งเตือนทันที สรุปรายวัน หรือสรุปผู้บริหารรายสัปดาห์ตามแบบฟอร์ม
ความปลอดภัยและการรับรองความถูกต้องไม่แปรผัน
คำแนะนำด้านความปลอดภัย: อย่าเก็บรหัสผ่านเซิร์ฟเวอร์ SMTP บุคคลที่สามไว้บนเว็บเซิร์ฟเวอร์ส่วนหน้า การกำหนดเส้นทางผ่าน HTTPS POST ไปยังจุดสิ้นสุดการนำเข้าที่ได้รับอนุญาตจะช่วยลดเวกเตอร์การขโมยข้อมูลรับรอง
การแก้ไขปัญหาและข้อผิดพลาดในการนำเข้าทั่วไป
Lugatu ตรวจสอบสิทธิ์อีเมลธุรกรรมขาออกด้วยพูล Amazon SES IP ที่มีชื่อเสียงสูงซึ่งกำหนดค่าด้วยการจัดแนว SPF, DKIM และ DMARC ที่ถูกต้อง
คำถามที่พบบ่อย
Lugatu รองรับการอัพโหลดไฟล์ในแบบฟอร์มการติดต่อหรือไม่?
ใช่. Lugatu รองรับไฟล์แนบที่สแกนไวรัสอย่างปลอดภัยโดยใช้โทเค็นการอัปโหลดที่ลงนามล่วงหน้าและพื้นที่เก็บข้อมูลส่วนตัว
พร้อมที่จะสร้างจุดสิ้นสุดของแบบฟอร์มแล้วหรือยัง?
เริ่มต้นฟรีในไม่กี่วินาที ไม่ต้องใช้บัตรเครดิต