Тело моего электронного письма должно быть закодировано MIMEText и base64, но содержимое свойства 'raw' в формате JSON полезная нагрузка должна быть строкой. Это приводит меня к «камню на наковальне» с двумя ошибками. Вот код, следующий за руководством:
Код: Выделить всё
message = MIMEText(RecipData["EmailText"])
message['to'] = RecipData["Email"]
message['from'] = SENDER
message['subject'] = Subject
EncodedMessage = {'raw': base64.urlsafe_b64encode(message.as_string())}
service.users().messages().send(userId=SENDER, body=EncodedMessage).execute()
Код: Выделить всё
TypeError: a bytes-like object is required, not 'str'
Код: Выделить всё
EncodedMessage = {'raw': base64.urlsafe_b64encode(message.as_string())}
Код: Выделить всё
EncodedMessage = {'raw': base64.urlsafe_b64encode(message.as_bytes())}
Код: Выделить всё
TypeError: Object of type bytes is not JSON serializable
Подробнее здесь: https://stackoverflow.com/questions/667 ... -needs-str