code: def attach(self, file_bytes, file_name):
          
          try:
              file_bytes = base64.b64encode(file_bytes)
          except TypeError:
              file_bytes = base64.b64encode(bytes(file_bytes, 'utf-8'))
  
          self._attachments.append(
              Attachment(get_valid_filename(file_name), file_bytes.decode('utf-8'))
          )
docs: Adds an attachment to the email. The filename is passed through Django's get_valid_filename which removes
          invalid characters. From the documentation for that function:
  
          >>> get_valid_filename("john's portrait in 2004.jpg")
          'johns_portrait_in_2004.jpg'
  
          Args:
              file_bytes: The bytes of the file to send (if you send a string, ex for CSV, pyOutlook will attempt to
                  convert that into bytes before base64ing the content).
              file_name: The name of the file, as a string and leaving out the extension, that should be sent