邮件通知
LiteLLM 电子邮件通知
概览
向 LiteLLM 代理(Proxy)用户发送特定事件的电子邮件。
| 类别 | 详情 |
|---|---|
| 支持的事件 | • 用户被添加为 LiteLLM 代理用户 • 为用户创建了代理 API 密钥 • 为用户轮换(更新)了代理 API 密钥 |
| 支持的电子邮件集成 | • Resend API • SMTP |
用法
LiteLLM Cloud:此功能已为所有 LiteLLM Cloud 用户启用,无需进行任何配置。
1. 配置电子邮件集成
- SMTP
- Resend API
- SendGrid API
获取 SMTP 凭据以进行设置
litellm_settings:
callbacks: ["smtp_email"]
将以下内容添加到您的代理环境变量中
SMTP_HOST="smtp.resend.com"
SMTP_TLS="True"
SMTP_PORT="587"
SMTP_USERNAME="resend"
SMTP_SENDER_EMAIL="notifications@alerts.litellm.ai"
SMTP_PASSWORD="xxxxx"
将 resend_email 添加到您代理 config.yaml 文件中的 litellm_settings 下
设置以下环境变量
RESEND_API_KEY="re_1234"
litellm_settings:
callbacks: ["resend_email"]
将 sendgrid_email 添加到您代理 config.yaml 文件中的 litellm_settings 下
设置以下环境变量
SENDGRID_API_KEY="SG.1234"
SENDGRID_SENDER_EMAIL="notifications@your-domain.com"
litellm_settings:
callbacks: ["sendgrid_email"]
2. 创建新用户
在 LiteLLM 代理用户界面上,转到“用户 (users)” > “创建新用户 (create a new user)”。
创建新用户后,他们将收到一封发送至您在创建用户时指定的电子邮件地址的邀请邮件。
3. 配置预算警报(可选)
通过将 "email" 添加到代理配置中的 alerts 列表中,即可启用预算警报邮件。
general_settings:
alerts: ["email"]
预算警报类型
软预算警报 (Soft Budget Alerts):当密钥超出其软预算限额时自动触发。这些警报有助于您在达到关键阈值之前监控支出。
最大预算警报 (Max Budget Alerts):当密钥达到其最大预算的特定百分比(默认:80%)时自动触发。这些警报会在您的预算即将耗尽时发出警告。
为防止垃圾邮件,两种类型的警报每 24 小时最多发送一封电子邮件。
配置选项
使用这些环境变量自定义预算警报行为
# Percentage of max budget that triggers alerts (as decimal: 0.8 = 80%)
EMAIL_BUDGET_ALERT_MAX_SPEND_ALERT_PERCENTAGE=0.8
# Time-to-live for alert deduplication in seconds (default: 24 hours)
EMAIL_BUDGET_ALERT_TTL=86400
电子邮件模板
1. 用户被添加为 LiteLLM 代理用户
当您在 LiteLLM 代理上创建新用户时,会发送此邮件。
如何触发此事件
在 LiteLLM 代理用户界面上,前往“用户 (Users)” > “创建用户 (Create User)” > 输入用户的电子邮件地址 > “创建用户”。
2. 为用户创建了代理 API 密钥
当您在 LiteLLM 代理上为用户创建新 API 密钥时,会发送此邮件。
如何触发此事件
在 LiteLLM 代理用户界面上,前往“虚拟密钥 (Virtual Keys)” > “创建 API 密钥 (Create API Key)” > 选择用户 ID
在“创建密钥”模态框中,选择“高级设置 (Advanced Settings)” > 将“发送电子邮件 (Send Email)”设置为 True。
3. 为用户轮换了代理 API 密钥
当您在 LiteLLM 代理上为用户轮换 API 密钥时,会发送此邮件。
如何触发此事件
在 LiteLLM 代理用户界面上,前往“虚拟密钥 (Virtual Keys)” > 点击一个密钥 > 点击“重新生成密钥 (Regenerate Key)”
确保密钥附有 user_id。这应该在创建密钥时设置好。
重新生成密钥后,用户将收到一封包含以下内容的电子邮件通知:
- 关于轮换的安全性说明
- 新的 API 密钥(如果
EMAIL_INCLUDE_API_KEY=false,则显示占位符) - 更新应用程序的说明
- 安全最佳实践
电子邮件自定义
自定义电子邮件品牌标识属于企业版功能 联系我们获取免费试用
LiteLLM 允许您自定义电子邮件通知的各个方面。以下是所有可自定义字段的完整参考:
| 字段 | 环境变量 | 类型 | 默认值 | 示例 | 描述 |
|---|---|---|---|---|---|
| Logo URL | EMAIL_LOGO_URL | string | LiteLLM logo | "https://your-company.com/logo.png" | 公司 Logo 的公开 URL |
| 支持联系方式 | EMAIL_SUPPORT_CONTACT | string | support@berri.ai | "support@your-company.com" | 用户支持的电子邮件地址 |
| 电子邮件签名 | EMAIL_SIGNATURE | 字符串 (HTML) | 标准 LiteLLM 页脚 | "<p>顺祝商祺,<br/>您的团队</p><p><a href='https://your-company.com'>访问我们</a></p>" | 适用于所有邮件的 HTML 格式页脚 |
| 邀请邮件主题 | EMAIL_SUBJECT_INVITATION | string | "LiteLLM: 新用户邀请" | "欢迎加入贵公司!" | 邀请邮件的主题行 |
| 密钥创建邮件主题 | EMAIL_SUBJECT_KEY_CREATED | string | "LiteLLM: API 密钥已创建" | "您的新 API 密钥已就绪" | 密钥创建邮件的主题行 |
| 密钥轮换邮件主题 | EMAIL_SUBJECT_KEY_ROTATED | string | "LiteLLM: API 密钥已轮换" | "您的 API 密钥已轮换" | 密钥轮换邮件的主题行 |
| 包含 API 密钥 | EMAIL_INCLUDE_API_KEY | 布尔值 | true | "false" | 是否在邮件中包含实际的 API 密钥(设置为 false 以增强安全性) |
| 代理基础 URL | PROXY_BASE_URL | string | http://0.0.0.0:4000 | "https://proxy.your-company.com" | LiteLLM 代理的基础 URL(用于邮件链接) |
电子邮件签名中的 HTML 支持
EMAIL_SIGNATURE 字段支持 HTML 格式,可用于制作丰富且具品牌特色的电子邮件页脚。以下是您可以包含的内容示例:
<p>Best regards,<br/>The LiteLLM Team</p>
<p>
<a href='https://docs.litellm.com.cn'>Documentation</a> |
<a href='https://github.com/BerriAI/litellm'>GitHub</a>
</p>
<p style='font-size: 12px; color: #666;'>
This is an automated message from LiteLLM Proxy
</p>
支持的 HTML 功能
- 文本格式(粗体、斜体等)
- 换行 (
<br/>) - 链接 (
<a href='...'>) - 段落 (
<p>) - 基本的内联样式
- 公司信息和社交媒体链接
- 法律免责声明或服务条款链接
环境变量
您可以通过环境变量自定义电子邮件的以下方面:
# Email Branding
EMAIL_LOGO_URL="https://your-company.com/logo.png" # Custom logo URL
EMAIL_SUPPORT_CONTACT="support@your-company.com" # Support contact email
EMAIL_SIGNATURE="<p>Best regards,<br/>Your Company Team</p><p><a href='https://your-company.com'>Visit our website</a></p>" # Custom HTML footer/signature
# Email Subject Lines
EMAIL_SUBJECT_INVITATION="Welcome to Your Company!" # Subject for invitation emails
EMAIL_SUBJECT_KEY_CREATED="Your API Key is Ready" # Subject for key creation emails
EMAIL_SUBJECT_KEY_ROTATED="Your API Key Has Been Rotated" # Subject for key rotation emails
# Security Settings
EMAIL_INCLUDE_API_KEY="false" # Set to false to hide API keys in emails (default: true)
# Proxy Configuration
PROXY_BASE_URL="https://proxy.your-company.com" # Base URL for the LiteLLM Proxy (used in email links)
安全性:在邮件中隐藏 API 密钥
为了增强安全性,您可以配置 LiteLLM 不在电子邮件通知中包含实际的 API 密钥。这在以下情况很有用:
- 您希望减少因邮件拦截导致密钥泄露的风险
- 您的安全策略要求只能从安全的仪表板获取密钥
- 您担心邮件转发或存储安全性
禁用后,邮件将显示:[Key hidden for security - retrieve from dashboard],而不是实际的 API 密钥。
配置
# Hide API keys in emails (enhanced security)
EMAIL_INCLUDE_API_KEY="false"
# Include API keys in emails (default behavior)
EMAIL_INCLUDE_API_KEY="true" # or omit this variable
行为
| 设置 | 密钥创建邮件 | 密钥轮换邮件 |
|---|---|---|
true (默认) | 显示实际的 sk-xxxxx 密钥 | 显示实际的 sk-xxxxx 密钥 |
false | 显示占位符消息 | 显示占位符消息 |
用户始终可以从 LiteLLM 代理仪表板检索他们的密钥。
电子邮件签名中的 HTML 支持
EMAIL_SIGNATURE 环境变量支持 HTML 格式,允许您创建丰富、有品牌感的页脚。您可以包含:
- 文本格式(粗体、斜体等)
- 使用
<br/>的换行 - 使用
<a href='...'>的链接 - 使用
<p>的段落 - 公司信息和社交媒体链接
- 法律免责声明或服务条款链接
HTML 签名示例
<p>Best regards,<br/>The LiteLLM Team</p>
<p>
<a href='https://docs.litellm.com.cn'>Documentation</a> |
<a href='https://github.com/BerriAI/litellm'>GitHub</a>
</p>
<p style='font-size: 12px; color: #666;'>
This is an automated message from LiteLLM Proxy
</p>
默认模板
如果未设置环境变量,LiteLLM 将使用默认模板:
- 默认 Logo:LiteLLM Logo
- 默认支持联系方式:support@berri.ai
- 默认签名:标准 LiteLLM 页脚
- 默认主题:"LiteLLM: {event_message}"(替换为实际的事件消息)
模板变量
设置自定义邮件主题时,可以使用模板变量,这些变量将被实际值替换:
# Examples of template variable usage
EMAIL_SUBJECT_INVITATION="Welcome to \{company_name\}!"
EMAIL_SUBJECT_KEY_CREATED="Your \{company_name\} API Key"
发送邮件时,系统会自动将 {event_message} 和其他模板变量替换为实际值。
常见问题 (FAQ)
为什么我在邮件链接中看到 "http://0.0.0.0:4000"?
PROXY_BASE_URL 环境变量用于构建电子邮件链接。如果您在本地环境中使用 LiteLLM 代理,您将在邮件链接中看到 "http://0.0.0.0:4000"。
如果您在生产环境中使用 LiteLLM 代理,您将看到 LiteLLM 代理的实际基础 URL。
您可以将 PROXY_BASE_URL 环境变量设置为 LiteLLM 代理的实际基础 URL。
PROXY_BASE_URL="https://proxy.your-company.com"