I would like to know how to send an email as a reply from a thread using the gmail API.
The code I'm currently using (but it only sends as normal email) is this: The thread_id that I'm using is somenthing like CAJvJKUbP=+NwgeyCn40X-qG1i3yq7PzmXiChjJnROSAbHye1Bg@mail.gmail.com
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