Chuẩn hóa Email
Email đầu vào (mỗi dòng một email)
Đã chuẩn hóa (đã loại trùng)
Chi tiết kỹ thuật
Trình chuẩn hóa email hoạt động như thế nào
Công cụ làm gì
Email Normalizer chuẩn hóa (canonicalize) địa chỉ email bằng cách chuyển toàn bộ địa chỉ sang chữ thường, loại bỏ dấu chấm trong phần local (kiểu Gmail), và loại bỏ bí danh plus-addressing (user+tag@domain thành user@domain). Điều này cho thấy khi nhiều địa chỉ email tưởng như khác nhau thực ra đều chuyển đến cùng một hộp thư, giúp bạn phát hiện tài khoản trùng lặp và chuẩn hóa cơ sở dữ liệu liên hệ.
Các trường hợp sử dụng phổ biến cho lập trình viên
Kỹ sư sản phẩm dùng chuẩn hóa email để ngăn người dùng tạo nhiều tài khoản dùng thử miễn phí bằng mẹo dấu chấm (j.ohn@gmail.com = john@gmail.com) hoặc bí danh plus (john+spam@gmail.com). Đội marketing khử trùng lặp danh sách gửi thư trước khi chạy chiến dịch để tránh gửi hai lần. Hệ thống chống gian lận chuẩn hóa email khi đăng ký để phát hiện người dùng từng bị cấm đang cố đăng ký lại bằng các biến thể email chỉ thay đổi bề ngoài.
Định dạng dữ liệu, kiểu hoặc biến thể
Gmail và Google Workspace bỏ qua dấu chấm trong phần local và hỗ trợ plus-addressing. Outlook/Hotmail bỏ qua plus-addressing nhưng không bỏ qua dấu chấm. Yahoo dùng hệ thống bí danh dựa trên dấu gạch nối thay vì dấu cộng. Fastmail và ProtonMail hỗ trợ plus-addressing. Công cụ áp dụng các quy tắc chuẩn hóa kiểu Gmail theo mặc định (bỏ dấu chấm, bỏ bí danh plus, chuyển chữ thường), bao phủ phần lớn email người dùng phổ thông nhưng có thể chuẩn hóa quá mức đối với máy chủ mail doanh nghiệp coi dấu chấm là có ý nghĩa.
Các lỗi thường gặp và trường hợp biên
Không phải máy chủ mail nào cũng bỏ qua dấu chấm — việc loại bỏ dấu chấm khỏi các địa chỉ không phải Gmail có thể ánh xạ hai người dùng khác nhau về cùng một địa chỉ đã chuẩn hóa, gây khử trùng lặp sai. Phần domain của email không phân biệt hoa/thường theo RFC 5321, nhưng phần local về mặt kỹ thuật có phân biệt hoa/thường (dù hầu như không máy chủ nào thực thi). Plus-addressing ngày càng được dùng như một công cụ bảo vệ quyền riêng tư hợp pháp, nên chặn nó có thể gây khó chịu cho người dùng coi trọng quyền riêng tư. Tên miền quốc tế (IDN) cần chuẩn hóa punycode để so sánh chính xác.
Khi nào nên dùng công cụ này thay vì viết mã
Dùng công cụ trên trình duyệt này để nhanh chóng kiểm tra một vài địa chỉ xem có trùng lặp hay không hoặc thử xem các quy tắc chuẩn hóa của bạn sẽ biến đổi các đầu vào cụ thể như thế nào. Với luồng đăng ký trong môi trường production, hãy triển khai chuẩn hóa như một hàm phía máy chủ áp dụng quy tắc theo từng nhà cung cấp (Gmail vs Outlook vs domain tùy chỉnh) và lưu cả dạng gốc lẫn dạng đã chuẩn hóa để bạn có thể hiển thị dạng gốc trong khi khử trùng lặp theo phiên bản đã chuẩn hóa.