mirror of
https://github.com/cpacker/MemGPT.git
synced 2025-06-03 04:30:22 +00:00

Co-authored-by: Charles Packer <packercharles@gmail.com> Co-authored-by: Shubham Naik <shubham.naik10@gmail.com> Co-authored-by: Shubham Naik <shub@memgpt.ai>
44 lines
1.5 KiB
Python
44 lines
1.5 KiB
Python
import json
|
|
import os
|
|
|
|
import requests
|
|
|
|
|
|
def send_email(self, description: str):
|
|
"""
|
|
Sends an email to a predefined user. The email contains a message, which is defined by the description parameter.
|
|
|
|
Args:
|
|
description (str): Email contents. All unicode (including emojis) are supported.
|
|
|
|
Returns:
|
|
None
|
|
|
|
Example:
|
|
>>> send_email("hello")
|
|
# Output: None. This will send an email to the you are talking to with the message "hello".
|
|
"""
|
|
RESEND_API_KEY = os.getenv("RESEND_API_KEY")
|
|
RESEND_TARGET_EMAIL_ADDRESS = os.getenv("RESEND_TARGET_EMAIL_ADDRESS")
|
|
if RESEND_API_KEY is None:
|
|
raise Exception("User did not set the environment variable RESEND_API_KEY")
|
|
if RESEND_TARGET_EMAIL_ADDRESS is None:
|
|
raise Exception("User did not set the environment variable RESEND_TARGET_EMAIL_ADDRESS")
|
|
|
|
url = "https://api.resend.com/emails"
|
|
headers = {"Authorization": f"Bearer {RESEND_API_KEY}", "Content-Type": "application/json"}
|
|
data = {
|
|
"from": "onboarding@resend.dev",
|
|
"to": RESEND_TARGET_EMAIL_ADDRESS,
|
|
"subject": "Letta message:",
|
|
"html": f"<strong>{description}</strong>",
|
|
}
|
|
|
|
try:
|
|
response = requests.post(url, headers=headers, data=json.dumps(data))
|
|
print(response.text)
|
|
except requests.HTTPError as e:
|
|
raise Exception(f"send_email failed with an HTTP error: {str(e)}")
|
|
except Exception as e:
|
|
raise Exception(f"send_email failed with an error: {str(e)}")
|