Gửi email xác nhận cho khách ngay sau khi điền form

Khách bấm gửi xong, hộp thư của họ có ngay một lá thư nói rõ anh chị đã nhận và khi nào sẽ gọi lại. Bài này thêm nhánh email đó vào luồng lead, kèm các chỗ hay khiến thư rơi vào thư rác.

Đăng 07/10/2026Đọc khoảng 9 phútWebhook → Send Email

Khách điền form lúc 10 giờ tối. Đội sale đã nghỉ, sáng mai mới gọi. Trong khoảng đó, khách không biết thông tin đã tới nơi hay chưa, nhiều người điền thêm một form của bên khác cho chắc. Một email xác nhận gửi ngay sau khi bấm gửi giải quyết đúng chỗ trống này: khách biết anh chị đã nhận, biết ai sẽ gọi, và có sẵn địa chỉ để trả lời nếu muốn bổ sung.

Bài này nối tiếp luồng ở bài 1 và bài 2: thêm một nhánh gửi email, sao cho email có lỗi thì lead vẫn được lưu và vẫn báo về Telegram.

Tóm tắt nhanh

  • Thêm ô email vào form, rồi sau node Google Sheets nối thêm If (email hợp lệ?) và Send Email.
  • Gửi từ địa chỉ thuộc tên miền công ty, đặt tên người gửi rõ ràng, khai báo SPF và DKIM để thư không vào mục rác.
  • Đặt node gửi email ở chế độ tiếp tục khi lỗi, và không gửi lại cho khách đã có trong Sheet.
Webhook nhận lead, Google Sheets lưu, sau đó tách hai nhánh: Telegram báo sale và If kiểm email rồi Send Email gửi khách Webhooknhận form Google Sheetslưu trước Telegrambáo sale Ifemail hợp lệ? Send Emailgửi khách
Nhánh email tách riêng sau bước lưu. Email lỗi không chặn tin báo Telegram.

Bước 1: Chọn đường gửi thư

n8n có hai node hay dùng để gửi thư. Chọn theo hộp thư anh chị đang có:

NodeKết nối bằngHợp khi
Send EmailSMTP (giao thức gửi thư): máy chủ, cổng, tài khoản, mật khẩu ứng dụngCông ty đã có email theo tên miền riêng ở bất kỳ nhà cung cấp nào
GmailĐăng nhập Google (OAuth, cấp quyền thay mặt người dùng)Gửi bằng tài khoản Google hoặc Google Workspace, không muốn quản lý mật khẩu SMTP

Thông số SMTP (tên máy chủ, cổng 465 hay 587, có bật SSL/TLS không) lấy từ trang hướng dẫn của nhà cung cấp email, đừng đoán. Nhiều nhà cung cấp, kể cả Google và Microsoft, yêu cầu tạo mật khẩu ứng dụng (app password) riêng thay vì mật khẩu đăng nhập thường. Mỗi nhà cung cấp còn có giới hạn số thư gửi mỗi ngày; anh chị xem con số hiện hành trên trang chính thức của họ, vì giới hạn này thay đổi theo gói.

Bước 2: Thêm ô email vào form và Sheet

Form ở bài 1 mới có tên, số điện thoại, nhu cầu. Thêm một ô email, đặt name="email" và type="email" để trình duyệt nhắc khi khách gõ thiếu chữ @:

<input name="email" type="email" placeholder="Email (không bắt buộc)" autocomplete="email">

Để ô này là không bắt buộc. Nhiều khách chỉ muốn để số điện thoại, ép nhập email thì họ bỏ form. Sau đó thêm cột email và cột da_gui_email vào Sheet, ánh xạ {{ $json.body.email }} vào node Google Sheets. Quên bước này là lỗi kinh điển: form có ô mới, nơi nhận phía sau không biết, dữ liệu rơi mất mà không ai báo.

Bước 3: Kiểm email trước khi gửi

Sau node Google Sheets, kéo thêm một nhánh thứ hai (nhánh Telegram cũ giữ nguyên). Đặt node If với điều kiện kiểu Boolean, giá trị là biểu thức:

// đúng khi có email và đúng dạng [email protected]
{{ /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String($('Webhook').item.json.body.email || '').trim()) }}

Biểu thức gọi thẳng node Webhook theo tên, vì sau node Google Sheets, $json là dòng vừa ghi chứ không còn là dữ liệu form. Kiểm này chỉ chặn chuỗi sai dạng, không xác minh hộp thư có tồn tại. Nhánh false để trống: khách không để email thì thôi, không gửi.

Bước 4: Cấu hình node gửi và nội dung thư

Nối node Send Email vào nhánh true. Các ô chính (tên có thể khác theo phiên bản):

Nội dung nên trả lời đủ ba câu khách đang thắc mắc: đã nhận chưa, ai liên hệ, khi nào.

Chào {{ $('Webhook').item.json.body.name || 'anh chị' }},

Chúng tôi đã nhận thông tin anh chị gửi lúc {{ $now.setZone('Asia/Ho_Chi_Minh').toFormat('HH:mm dd/LL') }}.
Nhu cầu anh chị ghi: {{ $('Webhook').item.json.body.note || '(chưa ghi)' }}

Người phụ trách sẽ gọi lại trong giờ làm việc.
Muốn bổ sung thông tin, anh chị trả lời thẳng thư này.

Câu “trong giờ làm việc” để chung chung là có chủ ý. Viết “trong 15 phút” mà đội không kịp gọi thì thư xác nhận thành lời hứa thất hứa. Khung giờ cụ thể chỉ nên ghi khi anh chị chắc giữ được.

Bước 5: Để thư không rơi vào mục rác

Hộp thư người nhận kiểm xem máy chủ gửi có được tên miền của anh chị cho phép không. Ba bản ghi DNS (hệ thống phân giải tên miền) quyết định việc này:

  1. SPF (khai báo máy chủ được phép gửi thư thay tên miền): một bản ghi TXT, nội dung do nhà cung cấp email đưa.
  2. DKIM (chữ ký số gắn vào từng thư): bật trong trang quản trị email, rồi thêm bản ghi họ cung cấp vào DNS.
  3. DMARC (chính sách xử lý thư giả mạo tên miền): bắt đầu ở mức chỉ theo dõi, p=none, rồi siết dần.

Cách kiểm nhanh: gửi thử một thư vào hộp Gmail, mở thư, chọn Hiện thư gốc (Show original). Hai dòng SPF và DKIM phải ghi PASS. Google và Yahoo đã công bố yêu cầu xác thực cho người gửi số lượng lớn; anh chị đọc bản hướng dẫn người gửi của Google để biết mốc áp dụng cho mình.

Bước 6: Không làm phiền khách bằng thư trùng và không để email kéo sập luồng

Hai thiết lập nhỏ, ảnh hưởng lớn:

Bẫy hay gặp

Bước tiếp theo: lead đã lưu, đã báo, đã có thư xác nhận. Cuối ngày, đếm xem hôm nay có bao nhiêu lead và gửi tóm tắt về Telegram.

Đọc bài 3: Báo cáo lead cuối ngày tự gửi về Telegram

Câu hỏi thường gặp

Nên dùng node Send Email (SMTP) hay node Gmail?

Nếu tên miền công ty đã có hộp thư (Google Workspace, Microsoft 365 hoặc nhà cung cấp email doanh nghiệp), dùng Send Email qua SMTP của chính hộp thư đó để thư đi từ tên miền của anh chị. Node Gmail hợp khi anh chị gửi bằng tài khoản Google và muốn kết nối bằng đăng nhập thay vì mật khẩu SMTP.

Vì sao email xác nhận hay vào mục thư rác?

Nguyên nhân thường gặp: tên miền người gửi chưa khai báo SPF và DKIM, địa chỉ From khác tên miền của máy chủ gửi, hoặc nội dung chỉ có một đường link và vài chữ. Kiểm bằng cách gửi thử vào một hộp Gmail, mở thư, chọn Hiện thư gốc (Show original) và xem dòng SPF, DKIM có ghi PASS không.

Khách gõ sai email thì luồng có bị dừng không?

Có thể, nếu để mặc định. Hãy kiểm định dạng email bằng node If trước khi gửi, và đặt node gửi email ở chế độ tiếp tục khi lỗi trong tab Settings. Như vậy email lỗi không làm mất bản ghi trong Sheet và tin báo Telegram cho đội sale.

Có nên ghi giá hay cam kết vào email xác nhận không?

Không nên. Email xác nhận chỉ cần nói đã nhận thông tin, ai sẽ liên hệ và trong khung giờ nào. Giá, điều khoản hay cam kết để người phụ trách trao đổi trực tiếp, vì thư tự động gửi cho mọi người như nhau và khó sửa khi đã gửi.

Đọc tiếp