diff --git a/django-stubs/core/mail/message.pyi b/django-stubs/core/mail/message.pyi index ef98c9c..f6b29af 100644 --- a/django-stubs/core/mail/message.pyi +++ b/django-stubs/core/mail/message.pyi @@ -83,7 +83,7 @@ class EmailMessage: def recipients(self) -> List[str]: ... def send(self, fail_silently: bool = ...) -> int: ... @overload - def attach(self, filename: MIMEText = ...) -> None: ... + def attach(self, filename: MIMEBase = ...) -> None: ... @overload def attach(self, filename: None = ..., content: _AttachmentContent = ..., mimetype: str = ...) -> None: ... @overload diff --git a/tests/typecheck/test_mail.yml b/tests/typecheck/test_mail.yml new file mode 100644 index 0000000..5c2c428 --- /dev/null +++ b/tests/typecheck/test_mail.yml @@ -0,0 +1,19 @@ +- case: check_email_message_attach + main: | + from email.mime.text import MIMEText + from email.mime.image import MIMEImage + from django.core.mail.message import EmailMessage + + message = EmailMessage() + reveal_type(message) # N: Revealed type is 'django.core.mail.message.EmailMessage' + + message.attach("myfilename", "mycontent", "text/plain") + + mime_text = MIMEText("mytext") + reveal_type(mime_text) # N: Revealed type is 'email.mime.text.MIMEText' + message.attach(mime_text) + + mime_image = MIMEImage("mydata", "image/png") + reveal_type(mime_image) # N: Revealed type is 'email.mime.image.MIMEImage' + message.attach(mime_image) + reveal_type(message.attachments) # N: Revealed type is 'builtins.list[Any]'