attachment_name = os.path.basename(attachment_filename) attachment_content_b64 = base64.b64encode(b"Minimal test content").decode('utf-8') # Minimal content file_attachment = FileAttachment( name=attachment_name, content_bytes=attachment_content_b64, content_type="text/plain" ) email_msg = Message( subject=subject, body=ItemBody( content=body, content_type="Text" ), to_recipients=[ Recipient(email_address=EmailAddress(address=recipient_email)) ], from_= Recipient(email_address=EmailAddress(address=SENDER_ID_OR_ADDRESS)), attachments = [file_attachment] ) request_body = SendMailPostRequestBody( message = email_msg, save_to_sent_items = False ) await graph_client.users.by_user_id(SENDER_ID_OR_ADDRESS).send_mail.post(request_body)