1from email.charset import Charset 2from email.contentmanager import ContentManager 3from email.errors import MessageDefect 4from email.policy import Policy 5from typing import Any, Generator, Iterator, List, Optional, Sequence, Tuple, TypeVar, Union 6 7_T = TypeVar("_T") 8 9_PayloadType = Union[List[Message], str, bytes] 10_CharsetType = Union[Charset, str, None] 11_ParamsType = Union[str, None, Tuple[str, Optional[str], str]] 12_ParamType = Union[str, Tuple[Optional[str], Optional[str], str]] 13_HeaderType = Any 14 15class Message: 16 policy: Policy # undocumented 17 preamble: Optional[str] 18 epilogue: Optional[str] 19 defects: List[MessageDefect] 20 def __str__(self) -> str: ... 21 def is_multipart(self) -> bool: ... 22 def set_unixfrom(self, unixfrom: str) -> None: ... 23 def get_unixfrom(self) -> Optional[str]: ... 24 def attach(self, payload: Message) -> None: ... 25 def get_payload(self, i: Optional[int] = ..., decode: bool = ...) -> Any: ... # returns Optional[_PayloadType] 26 def set_payload(self, payload: _PayloadType, charset: _CharsetType = ...) -> None: ... 27 def set_charset(self, charset: _CharsetType) -> None: ... 28 def get_charset(self) -> _CharsetType: ... 29 def __len__(self) -> int: ... 30 def __contains__(self, name: str) -> bool: ... 31 def __getitem__(self, name: str) -> _HeaderType: ... 32 def __setitem__(self, name: str, val: _HeaderType) -> None: ... 33 def __delitem__(self, name: str) -> None: ... 34 def keys(self) -> List[str]: ... 35 def values(self) -> List[_HeaderType]: ... 36 def items(self) -> List[Tuple[str, _HeaderType]]: ... 37 def get(self, name: str, failobj: _T = ...) -> Union[_HeaderType, _T]: ... 38 def get_all(self, name: str, failobj: _T = ...) -> Union[List[_HeaderType], _T]: ... 39 def add_header(self, _name: str, _value: str, **_params: _ParamsType) -> None: ... 40 def replace_header(self, _name: str, _value: _HeaderType) -> None: ... 41 def get_content_type(self) -> str: ... 42 def get_content_maintype(self) -> str: ... 43 def get_content_subtype(self) -> str: ... 44 def get_default_type(self) -> str: ... 45 def set_default_type(self, ctype: str) -> None: ... 46 def get_params(self, failobj: _T = ..., header: str = ..., unquote: bool = ...) -> Union[List[Tuple[str, str]], _T]: ... 47 def get_param(self, param: str, failobj: _T = ..., header: str = ..., unquote: bool = ...) -> Union[_T, _ParamType]: ... 48 def del_param(self, param: str, header: str = ..., requote: bool = ...) -> None: ... 49 def set_type(self, type: str, header: str = ..., requote: bool = ...) -> None: ... 50 def get_filename(self, failobj: _T = ...) -> Union[_T, str]: ... 51 def get_boundary(self, failobj: _T = ...) -> Union[_T, str]: ... 52 def set_boundary(self, boundary: str) -> None: ... 53 def get_content_charset(self, failobj: _T = ...) -> Union[_T, str]: ... 54 def get_charsets(self, failobj: _T = ...) -> Union[_T, List[str]]: ... 55 def walk(self) -> Generator[Message, None, None]: ... 56 def get_content_disposition(self) -> Optional[str]: ... 57 def as_string(self, unixfrom: bool = ..., maxheaderlen: int = ..., policy: Optional[Policy] = ...) -> str: ... 58 def as_bytes(self, unixfrom: bool = ..., policy: Optional[Policy] = ...) -> bytes: ... 59 def __bytes__(self) -> bytes: ... 60 def set_param( 61 self, 62 param: str, 63 value: str, 64 header: str = ..., 65 requote: bool = ..., 66 charset: Optional[str] = ..., 67 language: str = ..., 68 replace: bool = ..., 69 ) -> None: ... 70 def __init__(self, policy: Policy = ...) -> None: ... 71 72class MIMEPart(Message): 73 def __init__(self, policy: Optional[Policy] = ...) -> None: ... 74 def get_body(self, preferencelist: Sequence[str] = ...) -> Optional[Message]: ... 75 def iter_attachments(self) -> Iterator[Message]: ... 76 def iter_parts(self) -> Iterator[Message]: ... 77 def get_content(self, *args: Any, content_manager: Optional[ContentManager] = ..., **kw: Any) -> Any: ... 78 def set_content(self, *args: Any, content_manager: Optional[ContentManager] = ..., **kw: Any) -> None: ... 79 def make_related(self, boundary: Optional[str] = ...) -> None: ... 80 def make_alternative(self, boundary: Optional[str] = ...) -> None: ... 81 def make_mixed(self, boundary: Optional[str] = ...) -> None: ... 82 def add_related(self, *args: Any, content_manager: Optional[ContentManager] = ..., **kw: Any) -> None: ... 83 def add_alternative(self, *args: Any, content_manager: Optional[ContentManager] = ..., **kw: Any) -> None: ... 84 def add_attachment(self, *args: Any, content_manager: Optional[ContentManager] = ..., **kw: Any) -> None: ... 85 def clear(self) -> None: ... 86 def clear_content(self) -> None: ... 87 def as_string(self, unixfrom: bool = ..., maxheaderlen: Optional[int] = ..., policy: Optional[Policy] = ...) -> str: ... 88 def is_attachment(self) -> bool: ... 89 90class EmailMessage(MIMEPart): ... 91