Transparentnost dat SMTP
Připravte nejvýše 65536 bajtů SMTP zdvojením počátečních teček řádků a přidáním ukončení.
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"Před použitím zkontrolujte
Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.
Modely
Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.
Projekt
Ověřte prázdný vstup a existující konce CRLF a odmítněte osamocené CR či LF bez navázání spojení.
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"Kontrolujte serializovaný výstup na hranici, kde záleží na bajtech
MailTessera poskytuje vývojářům pracovní prostředí pro programování s AI ve Windows pro změny, kde jinému systému záleží na přesném serializovaném výstupu. Do konverzace přineste složku projektu, příslušný serializátor a reprezentativní vstupy. Před návrhem úpravy požádejte asistenta o kontrolu hranice mezi daty aplikace a přenášenými bajty. Úloha tak bude dostatečně konkrétní pro ověření přesahující čitelný náhled zprávy.
Například úloha s smtp_data.py může zkoumat konce řádků, úvodní tečky a ukončovač dat. Požádejte o návrh změny s přesně očekávanými bajty a prověřte, jak výsledek používá okolní kód. Úlohu zaměřte na serializaci a nepředpokládejte, že pomocná funkce zajišťuje doručení zprávy. Volající může mít vlastní stav připojení a pravidla selhání vyžadující samostatnou pozornost.
Spusťte vlastní projektové testy s prázdným obsahem, běžnými řádky a řádky začínajícími tečkou. Porovnejte přímo bajty, aby formátování zobrazení nemohlo skrýt rozdíl. MailTessera přijímá podporované koncové body kompatibilní s OpenAI nebo Anthropic a podle potřeby přihlašovací údaje. Nefiltrovaný model lze zvolit, pokud jej koncový bod nabízí, zatímco omezení, kapacita kontextu a dostupné nástroje stále závisí na modelu a serveru. Revize řiďte pozorovaným výstupem, nikoli předpokladem, že vysvětlení modelu dokazuje protokolovou kompatibilitu.
Otázky k serializaci zpráv
- Proč porovnávat bajty místo zobrazené zprávy?
Prohlížeč může skrýt rozdíly v koncích řádků nebo ukončovačích. Přesné očekávané bajty tyto rozdíly v testech zviditelní a pomohou určit, zda návrh mění serializaci, i když text vypadá stejně.
- Odesílá tento postup e-maily?
Příklad se týká kódu připravujícího data. Nedokládá doručovací službu ani živé odesílání. Serializaci prověřte nezávisle a případnou integraci doručování následně otestujte vlastním řízeným projektovým postupem, pokud je to vhodné.
- Kde se mají prověřovat pravidla stavu připojení?
Prověřte kód, který volá serializátor a spravuje připojení. Správná bajtová sekvence může být použita v nesprávné fázi, proto se mají kontrakt volajícího a kontrakt serializace kontrolovat jako související, ale samostatné oblasti.
- Čím je test úvodní tečky užitečný?
Určete přesný vstupní řádek a očekávané serializované bajty včetně okolních hranic řádků. Zahrňte i běžné řádky, aby změna zvládala zvláštní případ bez náhodného přepisování obsahu, který má zůstat beze změny.
MailTessera · Aktualizováno 2026-10-25