[{"data":1,"prerenderedAt":202},["ShallowReactive",2],{"\u002Fvi\u002Fblog\u002Ftemporary-email-api-testing-guide":3,"\u002Fvi\u002Fblog\u002Ftemporary-email-api-testing-guide-surround":191},{"id":4,"title":5,"authors":6,"badge":12,"body":14,"contentQuality":173,"date":177,"description":178,"extension":179,"image":180,"indexable":182,"locale":183,"meta":184,"navigation":182,"path":185,"reviewedBy":186,"seo":187,"stem":188,"updated":189,"__hash__":190},"postsVi\u002Fvi\u002Fblog\u002F19.temporary-email-api-testing-guide.md","Cách sử dụng API email tạm thời mà không cần xây dựng các bài kiểm tra dễ lỗi",[7],{"name":8,"to":9,"avatar":10},"Ban biên tập Once Email","\u002Fvi\u002Fabout",{"src":11},"\u002Fimages\u002Fauthors\u002Fdefault-cartoon-author-v2.webp",{"label":13},"thử nghiệm API",{"type":15,"value":16,"toc":163},"minimark",[17,21,29,38,43,46,49,53,56,59,63,66,77,92,96,99,118,121,125,128,136,140,147,150,154,157,160],[18,19,20],"p",{},"Một bài kiểm tra email có thể vượt qua vì lý do sai lầm. Hộp thư đến chung có thể chứa mã của ngày hôm qua, thời gian ngủ cố định 10 giây có thể hoạt động vào một buổi sáng yên tĩnh và vòng lặp thử lại không có thời hạn có thể khiến nhân viên CI bận rộn rất lâu sau khi ứng dụng không thành công.",[18,22,23,24,28],{},"Công cụ kiểm tra API email tạm thời đáng tin cậy là một máy trạng thái nhỏ: ",[25,26,27],"strong",{},"tạo, kích hoạt, thăm dò ý kiến, khớp, xác nhận và dọn dẹp",". Mỗi giai đoạn cần có chủ sở hữu rõ ràng, thời hạn và bằng chứng không rò rỉ thông điệp.",[18,30,31,32,37],{},"Trước khi tự động hóa quy trình, hãy sử dụng ",[33,34,36],"a",{"href":35},"\u002Fvi\u002Fblog\u002Femail-testing-checklist","danh sách kiểm tra kiểm tra email"," rộng hơn để quyết định hành vi phân phối, hiển thị và bảo mật nào thuộc bộ kiểm tra.",[39,40,42],"h2",{"id":41},"cho-mỗi-bài-kiểm-tra-chạy-hộp-thư-riêng","Cho mỗi bài kiểm tra chạy hộp thư riêng",[18,44,45],{},"Tạo hộp thư đến mới cho một thử nghiệm hoặc một tình huống có liên quan chặt chẽ. Đừng để nhân viên song song đọc cùng một địa chỉ. Ghi lại mã định danh hộp thư đến được trả về trong ngữ cảnh thử nghiệm, không chỉ địa chỉ; các yêu cầu tiếp theo nên đề cập đến mã định danh không rõ ràng đó.",[18,47,48],{},"Tạo hộp thư đến ngay trước hành động gửi thư. Điều này thu hẹp khoảng thời gian và ngăn tin nhắn cũ đáp ứng một xác nhận yếu. Nếu người chạy thử nghiệm có thể thử lại một công việc không thành công, hãy đưa mã định danh đang chạy của nó vào siêu dữ liệu chẩn đoán cục bộ thay vì cố gắng chọn một địa chỉ email dễ nhớ.",[39,50,52],{"id":51},"kích-hoạt-một-hành-động-có-thể-quan-sát-được","Kích hoạt một hành động có thể quan sát được",[18,54,55],{},"Yêu cầu hệ thống được thử nghiệm thực hiện chính xác một hành động: gửi liên kết xác nhận, gửi mã đăng nhập hoặc xuất biên nhận. Nắm bắt yêu cầu hoặc mã định danh sự kiện của ứng dụng khi nó cung cấp. Dấu hiệu nhận dạng đó là bằng chứng mạnh mẽ hơn so với việc chỉ khớp dòng chủ đề.",[18,57,58],{},"Không kiểm tra hệ thống của bên thứ ba không được yêu cầu. Hộp thư đến tự động dành cho các ứng dụng bạn sở hữu hoặc được ủy quyền đánh giá. Chúng không phải là một cơ chế để canh tác tài khoản, bỏ qua sự kiểm soát của nền tảng hoặc giám sát thư từ của người khác.",[39,60,62],{"id":61},"thăm-dò-ý-kiến-có-thời-hạn-và-thời-gian-chờ-đợi","Thăm dò ý kiến ​​​​có thời hạn và thời gian chờ đợi",[18,64,65],{},"Việc gửi thư không đồng bộ nên danh sách trống ngay lập tức là điều bình thường. Thăm dò nhẹ nhàng và dừng lại dứt khoát. Ngân sách khởi đầu hữu ích là thời hạn 60 giây với thời gian chờ là 1, 2, 3, 5, 8 và sau đó là 10 giây. Thêm một chút jitter ngẫu nhiên khi nhiều công nhân bắt đầu cùng nhau.",[67,68,74],"pre",{"className":69,"code":71,"language":72,"meta":73},[70],"language-text","deadline = now + 60 seconds\ndelay = 1 second\nwhile now \u003C deadline:\n    messages = list_messages(inbox_id)\n    candidate = find_expected(messages)\n    if candidate exists: return candidate\n    sleep(delay + jitter)\n    delay = min(delay * 1.6, 10 seconds)\nfail(\"expected email did not arrive before deadline\")\n","text","",[75,76,71],"code",{"__ignoreMap":73},[18,78,79,80,83,84,87,88,91],{},"Tôn trọng ",[75,81,82],{},"429 Too Many Requests"," và mọi giá trị ",[75,85,86],{},"Retry-After",". Việc thử lại mạnh mẽ hơn sau một giới hạn tốc độ sẽ khiến thử nghiệm ít có khả năng phục hồi hơn. Chỉ thử lại ",[75,89,90],{},"5xx"," tạm thời và các lỗi mạng trong thời hạn ban đầu; đừng âm thầm biến bài kiểm tra một phút thành bài kiểm tra mười phút.",[39,93,95],{"id":94},"khớp-giao-dịch-không-chỉ-chủ-đề","Khớp giao dịch, không chỉ chủ đề",[18,97,98],{},"Dòng chủ đề được viết cho mọi người và có thể thay đổi. Thích sự kết hợp của bằng chứng:",[100,101,102,106,109,112,115],"ul",{},[103,104,105],"li",{},"tin nhắn đến sau khi hành động bắt đầu;",[103,107,108],{},"người nhận là hộp thư đến được tạo cho lần chạy này;",[103,110,111],{},"tên miền của người gửi được mong đợi;",[103,113,114],{},"mã định danh tương quan hoặc liên kết một lần thuộc về giao dịch thử nghiệm;",[103,116,117],{},"có chính xác một thí sinh hoặc bài kiểm tra chọn rõ ràng thí sinh hợp lệ mới nhất.",[18,119,120],{},"Hãy coi HTML của tin nhắn là đầu vào không đáng tin cậy. Không thực thi tập lệnh, tải hình ảnh từ xa hoặc mở liên kết trong cấu hình duyệt web thông thường. Trích xuất URL mục tiêu, phân tích cú pháp và xác nhận đích đã đăng ký trước khi máy khách thử nghiệm được kiểm soát theo dõi nó.",[39,122,124],{"id":123},"giữ-bí-mật-khỏi-kết-quả-kiểm-tra","Giữ bí mật khỏi kết quả kiểm tra",[18,126,127],{},"Khóa API, mã xác minh và liên kết ma thuật là thông tin xác thực ngay cả khi tồn tại trong thời gian ngắn. Đặt khóa API vào kho lưu trữ bí mật CI và gửi chúng trong tiêu đề ủy quyền. Không bao giờ đặt chúng trong chuỗi truy vấn, ảnh chụp màn hình, tệp cố định hoặc cấu hình kho lưu trữ.",[18,129,130,131,135],{},"Nếu không thành công, hãy ghi nhật ký siêu dữ liệu giới hạn: hậu tố mã định danh hộp thư đến, dấu thời gian, số lượng tin nhắn, miền người gửi được xử lý lại, trạng thái HTTP và ID yêu cầu. Tránh bỏ tiêu đề, nội dung, tệp đính kèm hoặc địa chỉ đầy đủ. Báo cáo thử nghiệm hữu ích giải thích ",[132,133,134],"em",{},"nơi"," máy trạng thái đã dừng mà không trở thành kho lưu trữ hộp thư khác.",[39,137,139],{"id":138},"dọn-dẹp-trong-khối-cuối-cùng","Dọn dẹp trong khối cuối cùng",[18,141,142,143,146],{},"Việc xóa phải được thực hiện cho dù xác nhận đó thành công hay thất bại. Đặt tính năng dọn dẹp hộp thư đến trong ",[75,144,145],{},"finally"," của khung kiểm tra, phân tích hoặc sau mỗi lần móc. Việc dọn dẹp giúp giảm tình trạng lưu giữ do vô tình, tách biệt các thử nghiệm sau này và giúp việc sử dụng hạn ngạch trở nên dễ hiểu hơn.",[18,148,149],{},"Nếu việc xóa tạm thời không thành công, hãy báo cáo việc đó riêng biệt với xác nhận sản phẩm. Đừng che giấu sự thất bại ban đầu. Thời gian hết hạn phía máy chủ theo lịch trình vẫn có giá trị như một biện pháp hỗ trợ nhưng không nên thay thế việc dọn dẹp có chủ ý.",[39,151,153],{"id":152},"lập-kế-hoạch-hạn-ngạch-trước-khi-song-song","Lập kế hoạch hạn ngạch trước khi song song",[18,155,156],{},"Ước tính số cuộc gọi theo kịch bản: tạo một hộp thư đến, một số yêu cầu danh sách, một yêu cầu chi tiết và một yêu cầu xóa. Mười công nhân bỏ phiếu mỗi giây có thể sử dụng hết giới hạn chung mà không làm tăng tốc độ giao hàng. Ràng buộc đồng thời công nhân, chia sẻ ngân sách tỷ lệ được ghi lại trong suốt quá trình thử nghiệm và hiển thị mức tiêu thụ hàng tháng trong bảng điều khiển tài khoản.",[18,158,159],{},"Cấp Nhà phát triển theo kế hoạch của Once Email tách biệt trợ cấp trình duyệt miễn phí khỏi tự động hóa API. Hợp đồng xác thực, lỗi, hạn ngạch và giá cả của nó sẽ được công bố sau khi vượt qua thử nghiệm sản xuất về việc xử lý khóa trực tiếp, đo lường và thu hồi đăng ký. Điều này giữ cho các tuyên bố về sản phẩm phù hợp với khả năng mà người dùng thực sự có thể xác minh.",[18,161,162],{},"Công cụ kiểm tra email tốt nhất không phải là công cụ thử lại mãi mãi. Nó là nơi tạo ra một hộp thư đến riêng biệt, lịch sự chờ đợi, chứng minh rằng giao dịch phù hợp đã đến, ghi lại bằng chứng an toàn và không để lại hộp thư nào.",{"title":73,"searchDepth":164,"depth":164,"links":165},2,[166,167,168,169,170,171,172],{"id":41,"depth":164,"text":42},{"id":51,"depth":164,"text":52},{"id":61,"depth":164,"text":62},{"id":94,"depth":164,"text":95},{"id":123,"depth":164,"text":124},{"id":138,"depth":164,"text":139},{"id":152,"depth":164,"text":153},{"originalAnalysis":174,"trendContext":175,"practicalValue":176},"Chúng tôi theo dõi một thử nghiệm đăng ký tự động từ việc tạo hộp thư đến thông qua việc thăm dò giới hạn, lựa chọn, xác nhận và dọn dẹp thư, bao gồm cả bằng chứng lỗi hữu ích mà không cần giữ lại nội dung thư.","Các liên kết và mã email vẫn phổ biến trong các thử nghiệm đăng ký và khôi phục tự động, trong khi các công việc CI song song khiến hộp thư đến chung, chế độ ngủ cố định, bỏ phiếu không giới hạn và ghi nhật ký nội dung thư ngày càng không đáng tin cậy.","Người đọc nhận được quy trình làm việc trung lập với nhà cung cấp, mã giả có thể thực thi, ngân sách thử lại có giới hạn, chính sách mã trạng thái, tiêu chí khớp giao dịch, trường ghi nhật ký an toàn và hướng dẫn phân tích.","2026-08-08","Một thiết kế thực tế để kiểm tra API email tạm thời: tách biệt từng lần chạy, thăm dò ý kiến ​​bằng thời gian chờ, xác định đúng thông báo, bảo vệ bí mật và luôn dọn dẹp.","md",{"src":181},"\u002Fimages\u002Fblog\u002Ftemporary-email-threat-model-cover.webp",true,"vi",{},"\u002Fvi\u002Fblog\u002Ftemporary-email-api-testing-guide","Đội ngũ chuyên môn Once Email",{"title":5,"description":178},"vi\u002Fblog\u002F19.temporary-email-api-testing-guide","2026-08-09","RQj8KbgVUVGao2CF5lLv4G_ufsPqxaPHcq2K22xnuvI",[192,197],{"title":193,"path":194,"stem":195,"description":196,"children":-1},"Mã xác minh email: Cách an toàn hơn để sao chép, kiểm tra và sử dụng chúng","\u002Fvi\u002Fblog\u002Femail-verification-code-safety","vi\u002Fblog\u002F18.email-verification-code-safety","Hãy coi mã xác minh email như một bí mật ngắn hạn: xác nhận yêu cầu, kiểm tra đích đến, chỉ sao chép mã và xóa mã khi nhiệm vụ hoàn tất.",{"title":198,"path":199,"stem":200,"description":201,"children":-1},"Email xác minh không đến? Danh sách kiểm tra khắc phục sự cố an toàn","\u002Fvi\u002Fblog\u002Fanxiety","vi\u002Fblog\u002F2.anxiety","Xử lý các lỗi địa chỉ, sự chậm trễ của người gửi, số lần thử lại, lọc và giới hạn hộp thư mà không liên tục yêu cầu mã hoặc làm suy yếu tính bảo mật của tài khoản.",1786218433071]