Подключение
Базовый URL, учётные данные и доступный сервер.
Проверяйте сообщение на границе транспорта, где начальная точка должна остаться данными после снятия экранирования получателем.
Базовый URL, учётные данные и доступный сервер.
Модель, которую предоставляет настроенный endpoint.
Объём контекста и поддержка инструментов определяются моделью и сервером.
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"