MMailTessera
Сценарии

Сценарии работы с кодом · Прозрачность данных SMTP

03
Вокруг ваших задач

Конкретная отправная точка

Подготовьте до 65536 байт SMTP, удвоив точки в начале строк и добавив терминатор. Проверьте пустой ввод и готовые окончания CRLF, отклоняя одиночные CR или LF без открытия соединения.

01

Откройте контекст

Выберите папку проекта и обозначьте нужные файлы или поведение.

02

Опишите изменение

Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.

03

Изучите работу

Проверьте предлагаемые изменения и команды, прежде чем полагаться на результат.

04

Проверьте результат

Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.

Прозрачность данных SMTP

Конкретная отправная точка
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"

Пример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.

Рабочая среда с ИИ для кода

Здесь начинается ваше следующее изменение.

Скачать для Windows ↗