def create_message_with_thread_id(sender, to, subject, message_text, thread_id):
from email.message import EmailMessage
message = EmailMessage()
message.set_content(message_text)
message['To'] = to
message['From'] = sender
message['Subject'] = subject
message['In-Reply-To'] = thread_id
message['References'] = thread_id
# encoded message
encoded_message = base64.urlsafe_b64encode(message.as_bytes()) \
.decode()
message = {
'raw': encoded_message,
}
return message
# Function to send the message
def send_message(service, user_id, message):
try:
message = service.users().messages().send(
userId=user_id, body=message).execute()
print("Message Id: %s" % message['id'])
return message
except HttpError as e:
print("An error occurred: %s" % e)
return None
对于
In-Reply-To
和
Message-Id
需要在您发送到Gmail API的响应中使用线程ID,与原始消息相同的级别:
message_id = previous_message['Message-Id']
…
message['In-Reply-To'] = message_id
message['References'] = message_id