Tính trong suốt dữ liệu SMTP
Chuẩn bị tối đa 65536 byte SMTP bằng cách nhân đôi dấu chấm đầu dòng và thêm dấu kết thúc.
def smtp_data(payload):
if type(payload) is not bytes or len(payload) > 65536:
raise ValueError("bounded bytes")
lines = payload.split(b"\r\n")
if any(b"\r" in x or b"\n" in x for x in lines):
raise ValueError("CRLF lines required")
stuffed = b"\r\n".join(
b"." + x if x.startswith(b".") else x for x in lines)
if stuffed and not stuffed.endswith(b"\r\n"):
stuffed += b"\r\n"
return stuffed + b".\r\n"Kiểm tra trước khi áp dụng
So sánh hành vi thực tế với kết quả mong đợi. Nếu kiểm tra thất bại, tìm nguyên nhân trước khi sửa tiếp.
Mô hình
Cấu hình endpoint tương thích OpenAI hoặc Anthropic bằng URL cơ sở và khóa API nếu cần. Kiểm tra kết nối. Máy chủ mô hình cục bộ phải đang chạy; công cụ từ xa có thể truyền dữ liệu riêng.
Dự án
Kiểm tra đầu vào rỗng và CRLF cuối có sẵn, từ chối CR hoặc LF đơn mà không mở kết nối.
def smtp_data(payload):
if type(payload) is not bytes or len(payload) > 65536:
raise ValueError("bounded bytes")
lines = payload.split(b"\r\n")
if any(b"\r" in x or b"\n" in x for x in lines):
raise ValueError("CRLF lines required")
stuffed = b"\r\n".join(
b"." + x if x.startswith(b".") else x for x in lines)
if stuffed and not stuffed.endswith(b"\r\n"):
stuffed += b"\r\n"
return stuffed + b".\r\n"Rà soát đầu ra tuần tự hóa tại ranh giới nơi byte quan trọng
MailTessera cung cấp không gian lập trình AI trên Windows cho thay đổi nơi đầu ra tuần tự hóa chính xác quan trọng với hệ thống khác. Đưa thư mục dự án, bộ tuần tự hóa liên quan và đầu vào tiêu biểu vào cuộc trao đổi. Yêu cầu trợ lý kiểm tra ranh giới giữa dữ liệu ứng dụng và byte truyền đi trước khi đề xuất bản vá. Nhờ đó nhiệm vụ đủ cụ thể để kiểm tra vượt ngoài bản xem trước thông điệp dễ đọc.
Ví dụ, nhiệm vụ smtp_data.py có thể xem xét kết thúc dòng, dấu chấm đầu dòng và dấu kết thúc dữ liệu. Yêu cầu thay đổi đề xuất với kỳ vọng byte chính xác và rà soát cách mã xung quanh dùng kết quả. Giữ nhiệm vụ về tuần tự hóa thay vì cho rằng hàm hỗ trợ xác lập việc chuyển thư. Mã gọi có thể có trạng thái kết nối và quy tắc thất bại riêng cần chú ý tách biệt.
Tự chạy kiểm thử dự án với nội dung rỗng, dòng thường và dòng bắt đầu bằng dấu chấm. So sánh trực tiếp byte để định dạng hiển thị không che giấu khác biệt. MailTessera chấp nhận điểm cuối tương thích OpenAI hoặc Anthropic được hỗ trợ cùng thông tin xác thực khi cần. Có thể chọn mô hình không lọc nếu điểm cuối cung cấp, còn hạn chế, dung lượng ngữ cảnh và công cụ khả dụng vẫn phụ thuộc mô hình và máy chủ. Dùng đầu ra quan sát được để hướng dẫn sửa đổi, không giả định lời giải thích của mô hình chứng minh tính tương thích giao thức.
Câu hỏi cho công việc tuần tự hóa thông điệp
- Tại sao so sánh byte thay vì thông điệp hiển thị?
Trình xem có thể che giấu khác biệt kết thúc dòng hoặc dấu kết thúc. Kỳ vọng byte chính xác làm những khác biệt đó hiện rõ trong kiểm thử, giúp xác định đề xuất có đổi tuần tự hóa dù văn bản trông giống nhau hay không.
- Quy trình này có gửi email không?
Ví dụ liên quan mã chuẩn bị dữ liệu. Nó không xác lập dịch vụ chuyển thư hay hành động gửi trực tiếp. Rà soát tuần tự hóa độc lập, rồi kiểm thử tích hợp chuyển thư bằng quy trình dự án có kiểm soát của bạn khi phù hợp.
- Nên rà soát quy tắc trạng thái kết nối ở đâu?
Kiểm tra mã gọi bộ tuần tự hóa và quản lý kết nối. Chuỗi byte đúng vẫn có thể được dùng sai giai đoạn, nên cần kiểm tra quy ước mã gọi và tuần tự hóa như hai vấn đề liên quan nhưng tách biệt.
- Điều gì khiến kiểm thử dấu chấm đầu dòng hữu ích?
Nêu dòng đầu vào chính xác và byte tuần tự hóa kỳ vọng, gồm ranh giới dòng xung quanh. Bao gồm cả dòng thường để thay đổi xử lý trường hợp đặc biệt mà không vô tình viết lại nội dung cần giữ nguyên.
MailTessera · Cập nhật 2026-10-25