电子邮件
从你的应用发送事务性邮件。在应用的 Admin > Email 中管理发件人身份并跟踪送达情况。
每个 Proyecta 应用都可以发送事务性邮件。验证发件人身份后,即可在应用代码中直接发送——无需单独注册邮件服务商账户。
Email 模块
Section titled “Email 模块”在 builder 中打开 Admin > Email,或访问已发布站点的 /admin。该模块分为两部分:
| 部分 | 用途 |
|---|---|
| Identities | 添加并验证发件人邮箱地址或域名 |
| Sent | 浏览已发送的邮件及送达状态(已发送、已送达、退信等) |
你可以添加新的发件人身份、浏览邮件送达历史——全程无需编写代码。
两步配置流程
Section titled “两步配置流程”- 在管理面板中创建并验证发件人身份(邮箱地址或域名)
- 发送——在应用中使用
useSendEmail(),或在管理面板中用于营销邮件
使用共享地址发送(@proyectamail.com)
Section titled “使用共享地址发送(@proyectamail.com)”最简单的方式是在 Proyecta 的共享发送域名 @proyectamail.com 上申请一个地址。创建后立即完成验证——平台本身拥有该域名,因此无需你配置任何 DNS 记录。
在应用管理面板的 Emails 模块中输入你想要的地址,即刻可用。
单个地址仅适用于 @proyectamail.com。若申请其他域名下的地址(例如 hello@myapp.com)将被拒绝——如需从自有域名发送,请改为验证整个域名(见下文)。每个共享地址在全局范围内唯一保留,不同应用不能使用同一个 @proyectamail.com 发件人。
验证自有域名(Pro)
Section titled “验证自有域名(Pro)”如需从自有域名发送——使用该域名下的任意地址(hello@、support@、noreply@ 等)——请验证整个域名。与共享的 @proyectamail.com 地址不同,自定义域名不会即时完成验证。
在同一个 Emails 模块中添加域名,系统会向邮件服务商注册,并展示需要在 DNS 中发布的 SPF、DKIM 和 DMARC 记录。发件人状态将保持 pending,直到这些记录完成传播并由服务商确认后,状态才会切换为 verified——发布记录后请点击重新检查按钮。
基于 DNS 的域名验证功能已完整实现——记录由服务商生成,每次重新检查都会重新轮询其状态。
底层实现: Proyecta 通过其邮件身份服务商(Resend)验证你的发送域名,并通过事务性邮件服务商(SendGrid)投递消息。你无需管理上述任何一家的账户。
在应用中发送邮件
Section titled “在应用中发送邮件”在应用页面中,使用 useSendEmail() hook 发送邮件。你选择一个模板并传入变量,平台会以应用的语言渲染消息并发送:
import { useSendEmail } from '@/hooks/useEmail.ts';
function ConfirmButton({ booking }) { const { send, isPending, error } = useSendEmail();
return ( <button disabled={isPending} onClick={() => send({ template: 'booking_confirmation', variables: { date: booking.date, service: booking.service }, }) } > Email me the details </button> );}注意你不需要传入的内容:收件人、主题或 HTML。每个模板自行声明其受众:
self(预订/订单确认、欢迎邮件)→ 发送到已登录用户自己的邮箱地址,从其会话中获取。owner(owner_alert)→ 发送给应用的管理员。
两者都需要已登录的会话。这是有意为之,而非功能缺失:用于验证请求的 publishable key 会随页面源码一同下发,若允许指定任意收件人,任何人都可以利用你的应用进行垃圾邮件中继。如需在匿名访客触发时通知自己,请使用表单——表单提交会自动向站长发送邮件并向提交者发送确认,且该路径无法在浏览器端伪造。
错误以 PlatformApiError 的形式返回:401(需要登录会话)、403(该模板未在此应用中启用)、429(请求频率受限——展示提示信息并提供重试选项)、422(未找到邮箱地址)。
跟踪送达情况
Section titled “跟踪送达情况”管理面板中的 Sent 标签页列出了应用发送的所有邮件及其最新送达事件——已送达、已打开、已点击、退信、投诉——通常无需编写任何代码即可查看。
每条记录都带有状态——sent、delivered、opened、clicked、bounced 或 complained——你可以打开任意一条消息查看实际发出的 HTML 和纯文本内容。如果邮件送达出现问题,这里是排查的第一站。
让 AI 来配置
Section titled “让 AI 来配置”你不必手动编写这些内容,直接告诉 AI 即可:
"Verify hello@myapp.com as a sending identity.""Email the customer a confirmation after they finish booking.""After a successful checkout, send the customer their receipt.""Show me the last 20 emails we've sent and whether they bounced."
from地址必须是已验证的身份。 使用未验证的地址发送将返回错误。- 每月发送量有限制,具体取决于你的 Proyecta 套餐。
- 模板编辑器 —— 在 builder 中可视化设计事务性邮件模板
- 批量发送 endpoint,用于大规模邮件群发