计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
sendgrid-mail-management【效率与协作】Implements features for sending emails, managing templates, handling marketing campaigns, and parsing inbound emails with the SendGrid API.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: sendgrid-mail-management description: Implements features for sending emails, managing templates, handling marketing campaigns, and parsing inbound emails with the SendGrid API. license: MIT compatibility: opencode metadata: version: "1.0.0" domain: agent triggers: sendgrid, send email, email templates, marketing campaigns, inbound email parsing role: implementation scope: implementation output-format: code related-skills: coding-sendgrid-api, coding-email-management archetypes:
This skill integrates the SendGrid API to manage email functionalities, including sending transactional emails, handling email templates, managing marketing campaigns, and parsing inbound emails. Upon loading, this skill allows the model to create well-structured emails, utilize dynamic templates, and process email responses via webhooks.
SendGridAPIClient with SENDGRID_API_KEY from environment variables.Mail helper, adjusting for dynamic templates.SendGridAPIClient using SENDGRID_API_KEY. Ensure proper authentication by checking available scopes before sending emails.
Mail helper from sendgrid.helpers.mail to build the email. Specify from_email, to_emails, subject, and content as either HTML or plain text.
sg.send() with the constructed mail object, and handle responses appropriately.
import os
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail
def send_transactional_email(to_email, subject, html_content):
sg = SendGridAPIClient(os.environ['SENDGRID_API_KEY'])
message = Mail(
from_email='noreply@example.com',
to_emails=to_email,
subject=subject,
html_content=html_content,
)
try:
response = sg.send(message)
if response.status_code == 202:
print(f"Email sent to {to_email} with status code {response.status_code}")
else:
print(f"Failed to send email. Status code: {response.status_code}")
except Exception as e:
print(f"An error occurred: {str(e)}")
def send_dynamic_template_email(to_email, template_id, dynamic_data):
sg = SendGridAPIClient(os.environ['SENDGRID_API_KEY'])
message = Mail(
from_email='noreply@example.com',
to_emails=to_email,
)
message.template_id = template_id
message.dynamic_template_data = dynamic_data
try:
response = sg.send(message)
print(f"Dynamic email sent, response code: {response.status_code}")
except Exception as e:
print(f"Failed to send dynamic email: {str(e)}")
from flask import Flask, request
app = Flask(__name__)
@app.route('/inbound', methods=['POST'])
def inbound_webhook():
email_data = request.json
# Process email data here
print(f"Received email from: {email_data['from']}")
return "OK", 200
SENDGRID_API_KEY securely as an environment variable.Mail helper instead of constructing HTTP request bodies manually.| Skill | Purpose |
|---|---|
| coding-sendgrid-api | For general SendGrid API interactions |
| coding-email-management | For managing and sending emails through another platform |
Authorative documentation links for this domain. The model follows markdown links at load time to resolve external references and inline content.
/v3/mail/send endpoint