Spaces:
Running
Running
| import base64 | |
| from email.message import EmailMessage | |
| import google.auth | |
| from googleapiclient.discovery import build | |
| from googleapiclient.errors import HttpError | |
| def gmail_send_message(): | |
| """Create and send an email message | |
| Print the returned message id | |
| Returns: Message object, including message id | |
| Load pre-authorized user credentials from the environment. | |
| TODO(developer) - See https://developers.google.com/identity | |
| for guides on implementing OAuth2 for the application. | |
| """ | |
| creds, _ = google.auth.default() | |
| try: | |
| service = build("gmail", "v1", credentials=creds) | |
| message = EmailMessage() | |
| message.set_content("This is automated draft mail") | |
| message["To"] = "[email protected]" | |
| message["From"] = "[email protected]" | |
| message["Subject"] = "Automated draft" | |
| # encoded message | |
| encoded_message = base64.urlsafe_b64encode(message.as_bytes()).decode() | |
| create_message = {"raw": encoded_message} | |
| # pylint: disable=E1101 | |
| 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}") | |
| send_message = None | |
| return send_message | |
| if __name__ == "__main__": | |
| gmail_send_message() |