Do after you Gmail API Generate Token.json
SCOPES = ["https://mail.google.com/"]
# send an email with OTP
if os.path.exists("token.json"):
creds = Credentials.from_authorized_user_file("token.json", SCOPES)
if not creds or not creds.valid:
creds.refresh(Request())
print("Token refreshed successfully!")
try:
service = build("gmail", "v1", credentials=creds)
message = EmailMessage()
message.set_content(f"Hey heres an email")
message["To"] = recieve_email
message["From"] = "uoftmichealbot@gmail.com"
message["Subject"] = "Subject here"
# encoded message
encoded_message = base64.urlsafe_b64encode(message.as_bytes()).decode()
create_message = {"raw": encoded_message}
print("sending emails..")
send_message = (
service.users()
.messages()
.send(userId="me", body=create_message)
.execute()
)
print(f'Message Id: {send_message["id"]}')
except HttpError as error:
print(f"An error occurred: {error}")