AttributeError: у объекта 'bytes' нет атрибута 'encode' в python 3 - PullRequest
1 голос
/ 01 апреля 2020
email = 'aashita9317@gmail.com'
send_email('Happy Hour Update',message,
            from_addr=GMAIL_LOGIN, to_addr=email)

Я получаю ошибку AttributeError: у объекта 'bytes' нет атрибута 'encode'

def send_email(subject, message, from_addr=GMAIL_LOGIN, to_addr=GMAIL_LOGIN):
msg = MIMEText(message)
msg['Subject'] = subject
msg['From'] = from_addr
msg['To'] = to_addr
msg['Reply-To'] = 'happyhours@noreply.com'

Выше находится функция send_email, на которую она ссылается, указывающая на msg = MIMEText (сообщение) Пожалуйста, помогите

if _charset is None:
        try:
            _text.encode('us-ascii')
            _charset = 'us-ascii'
        except UnicodeEncodeError:
            _charset = 'utf-8'

Выше находится файл anaconda3, на который он ссылается в ~ \ anaconda3 \ lib \ email \ mime \ text.py в init (self, _text, _subtype, _charset) , политика)

1 Ответ

1 голос
/ 01 апреля 2020

Документация объясняет детали кодировки кодировки: https://docs.python.org/3/library/email.mime.html#email .mime.text.MIMEText

При добавлении заголовков используйте, например, msg.add_header('Subject', subject) вместо msg['Subject'] = subject

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...