Python отправляет ответ на сообщение Gmail, получая эту ошибку: AttributeError: у объекта 'int' нет атрибута 'encode' - PullRequest
0 голосов
/ 04 января 2019

Я создал следующий код для ответа на существующее письмо в моей учетной записи gmail

replySubj = "Re: hello"
recipient = "test@acc.emailTest.com"
sender = "dummy1@gmail.com"
username = "dummy1@gmail.com"
password = "blahblahblah"

msg = MIMEMultipart('')
msg['From'] = sender
msg['To'] = recipient
msg['Subject'] = replySubj
msg['In-Reply-To'] = uid
msg.attach(MIMEText("I received your message"))

server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(username, password)
server.sendmail(sender, recipient, msg.as_string())
server.quit()

Я получаю эту ошибку -> AttributeError: у объекта 'int' нет атрибута 'encode' который относится к этой линии

server.sendmail(sender, recipient, msg.as_string())

при удалении .as_string () я получаю эту ошибку: TypeError: ожидаемая строка или байтовоподобный объект

Обратите внимание, что uid является целым числом

1 Ответ

0 голосов
/ 04 января 2019

Благодаря подсказке от "entrez" решение

msg ['In-Reply-To'] = str (uid)

почему-то я думал, что я сделал: msg.as_string () это сделало бы целую строку, но так как uid является целым числом, я должен сначала преобразовать его в строку

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