工程指南·架構與安全
如何在沒有 SMTP 或電子郵件伺服器設定的情況下建立現代聯絡表單
全面的工程指南,介紹如何將 Web 表單與脆弱的 SMTP 伺服器解耦、將送達率提高至 99.8%,以及從 Web 基礎架構中消除明文電子郵件憑證。
1. 為什麼傳統 SMTP 在現代網站上失敗
幾十年來,開發人員直接在其網站程式碼或 CMS 資料庫中配置 PHPMailer 或 SMTP 憑證。 在無伺服器、靜態 (Jamstack) 和邊緣運算環境中,這會產生嚴重的架構缺陷:用戶端捆綁包中的憑證暴露、連線逾時以及 SPF/DKIM/DMARC 可傳遞性故障。
warning
切勿在客戶端 HTML 或前端 JavaScript 套件中嵌入 SMTP 密碼或金鑰。 使用專用的 HTTP 攝取端點。
2. 解耦的表單攝取架構
現代架構不是讓 Web 伺服器在 HTTP 請求期間同步連接到 SMTP 端口,而是使用解耦的事務流。 客戶端將標準 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. 內建反垃圾郵件防禦,無需破壞性驗證碼
Lugatu 使用隱形蜜罐和速率限制檢查傳入提交的自動化機器人。 合法訪客無需解決影像辨識難題即可無縫提交表單。
4.通知方式靈活,保存持久
即使達到了出站電子郵件配額,所有提交的內容仍會保留在您的工作區收件匣中。 您可以選擇每個表單的即時警報、每日摘要或每週執行摘要。
安全性和身份驗證不變
安全說明:切勿將第三方 SMTP 伺服器密碼儲存在前端 Web 伺服器上。 透過 HTTPS POST 路由到授權的攝取端點可消除憑證竊取向量。
故障排除和常見攝取錯誤
直接從伺服器發送的電子郵件會進入垃圾郵件資料夾
Lugatu 使用配置了有效 SPF、DKIM 和 DMARC 對齊的高信譽 Amazon SES IP 池對出站交易電子郵件進行身份驗證。
常見問題解答
Lugatu 是否支援聯絡表單中的文件上傳?
是的。 Lugatu 支援使用預簽上傳令牌和私人儲存來安全掃描病毒附件。
準備好建立您的表單端點了嗎?
幾秒鐘內免費開始使用。 無需信用卡。