Phương pháp chống giả mạo nhất mà bạn có thể sử dụng thường là tốt nhất cho những thứ này vì tất cả chúng ta đều có những ngày có thể xảy ra sự cố. Tốt nhất là hãy cẩn thận, thậm chí là hoang tưởng đường biên giới, khi một sai lầm thực sự có thể làm hỏng ngày của bạn.
Dưới đây là một vài phương pháp có thể làm việc:
Bất Lực Cấu hình theo Mặc định
Hệ thống hoàn toàn an toàn nhất là để giữ cho các cấu hình máy chủ SMTP cho máy chủ sản xuất trên máy chủ sản xuất và chỉ trên máy chủ sản xuất. Bản sao phát triển của bạn sẽ có một số cấu hình SMTP khác, như một tài khoản SMTP GMail thử nghiệm. Thông thường, GMail giới hạn bạn đến 500 email mỗi ngày trên các tài khoản thông thường, do đó bạn sẽ nhanh chóng đạt đến giới hạn này nếu bạn thực sự vặn vẹo mọi thứ bằng cách nào đó.
Thay email khách hàng trong cơ sở dữ liệu
Một điều cần xem xét là chà kỹ tất cả các email của khách hàng trong cơ sở dữ liệu của bạn, loại bỏ chúng và thay thế chúng bằng [email protected]
và [email protected]
nếu bạn quan tâm để thực sự tiếp nhận và kiểm tra chúng, lấy lợi thế của thực tế là +
và nội dung tiếp theo bị bỏ qua để gửi tới Gmail, cho phép bạn cung cấp cho bạn địa chỉ email tiềm năng không giới hạn.
Như một ví dụ:
UPDATE customers SET email=CONCAT('mytestaccount+', customer.id, '@gmail.com')
Bạn sẽ phải tùy chỉnh này để được bất cứ điều gì địa chỉ email mà bạn muốn. Một lợi thế để làm điều này là bạn sẽ không có một danh sách có giá trị của các địa chỉ email của khách hàng ngồi trên ổ đĩa phát triển của bạn và bất kỳ sao lưu liên quan của nó. Để được triệt để bạn nên có lẽ tranh giành mật khẩu băm cũng như vậy cơ sở dữ liệu về cơ bản là vô giá trị cho các tin tặc tiềm năng. Quá nhiều lần mật khẩu được lấy từ các bản sao lưu không được bảo mật đúng cách.
Render email khách hàng Undeliverable
Cách tiếp cận tốt nhất tiếp theo là thêm".test" đến hết mỗi email trong hệ thống bạn không muốn gửi để nó sẽ bị gửi trả lại thay vì đi đến hộp thư của một ai đó
này về cơ bản là một lớp lót:.
UPDATE customers SET email=CONCAT(email, '.test')
Over-Ride email tại Thời gian giao hàng
bạn luôn có thể bao gồm một số logic có điều kiện như nơi bạn sẽ cố tình thay thế người nhận thông báo email. Điều này có thể nguy hiểm vì có một cơ hội mà bạn có thể vô hiệu hóa chuyển đổi điều đó bằng cách tai nạn, mặc dù vậy, luôn luôn, hãy cẩn thận.
Trong thực tế này trông giống như sau:
if ($i_should_not_spam_customer_accounts_accidentally)
{
$mail->to = "[email protected]"
}
Sử dụng một API Service
Driven Một số cung cấp dịch vụ thư có một API có thể giúp bạn khi kiểm tra các tin nhắn email. Tôi là người đồng sáng lập tại PostageApp và dịch vụ được thiết kế để bạn có thể gửi tin nhắn bằng khóa API được định cấu hình cụ thể để nhận nhưng không gửi email. Các dịch vụ khác như MailGun có thể được sử dụng theo cách tương tự.
Không Độc Point of Failure
Nó không phải là một cảm giác tốt là một bài kiểm tra logic ra khỏi bi kịch, mặc dù. Bạn nên đảm bảo có một số những điều phải làm sai trước khi bạn có thất bại.
Đơn giản! Làm trống cơ sở dữ liệu người dùng chỉ giữ email của riêng bạn (và có thể là các dev khác) trong đó – Dale
Ngoài ra, hãy định cấu hình máy chủ phát triển để không gửi thư đến "bên ngoài". –
Hãy để tôi vội vã thêm tôi có nghĩa là bản sao cục bộ của cơ sở dữ liệu không phải là bản sao sản xuất :) – Dale