Skip to content

Commit 8f97bf8

Browse files
MIMEBase parameter for EmailMessage.attach() (#577)
* MIMEBase parameter for EmailMessage.attach() * Added test_mail.yml Co-authored-by: Edwin Grubbs <[email protected]>
1 parent 124d907 commit 8f97bf8

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

django-stubs/core/mail/message.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ class EmailMessage:
8383
def recipients(self) -> List[str]: ...
8484
def send(self, fail_silently: bool = ...) -> int: ...
8585
@overload
86-
def attach(self, filename: MIMEText = ...) -> None: ...
86+
def attach(self, filename: MIMEBase = ...) -> None: ...
8787
@overload
8888
def attach(self, filename: None = ..., content: _AttachmentContent = ..., mimetype: str = ...) -> None: ...
8989
@overload

tests/typecheck/test_mail.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
- case: check_email_message_attach
2+
main: |
3+
from email.mime.text import MIMEText
4+
from email.mime.image import MIMEImage
5+
from django.core.mail.message import EmailMessage
6+
7+
message = EmailMessage()
8+
reveal_type(message) # N: Revealed type is 'django.core.mail.message.EmailMessage'
9+
10+
message.attach("myfilename", "mycontent", "text/plain")
11+
12+
mime_text = MIMEText("mytext")
13+
reveal_type(mime_text) # N: Revealed type is 'email.mime.text.MIMEText'
14+
message.attach(mime_text)
15+
16+
mime_image = MIMEImage("mydata", "image/png")
17+
reveal_type(mime_image) # N: Revealed type is 'email.mime.image.MIMEImage'
18+
message.attach(mime_image)
19+
reveal_type(message.attachments) # N: Revealed type is 'builtins.list[Any]'

0 commit comments

Comments
 (0)