App Engine 应用可代表应用的电子邮件接收地址以及某些拥有 Google 账号的用户发送电子邮件。应用可以通过不同地址接收电子邮件。应用使用邮件服务发送邮件,以 App Engine 启动并发布到应用的 HTTP 请求形式接收邮件。
发送邮件
Mail 服务可以将电子邮件发送到一个或多个收件人。邮件包含主题、纯文本正文和可选的 HTML 正文。它还可以包含文件附件和一组有限的标头。
您可以将任何电子邮件地址作为收件人。收件人可以位于显示在邮件的“收件人”字段、“抄送”字段中,也可以从邮件收件人中隐藏(“密送”,即 bcc)。
在应用调用 Mail 服务以发送邮件时,该邮件将排入队列并且调用立即返回。Mail 服务使用标准过程连接每个收件人的邮件服务器、传送邮件以及在无法连接到邮件服务器时重试。
谁可以发送邮件
为了安全起见,邮件的发件人地址必须是以下类型之一:
- 当前已登录的用户的 Gmail 或 Google Workspace 账号
anything@[MY_PROJECT_ID].appspotmail.com
或anything@[MY_PROJECT_NUMBER].appspotmail.com
格式的任何电子邮件地址- 在 Google Cloud 控制台中 Email API 已获授权的发件人下列出的任何电子邮件地址
Email API 授权发件人列表中的所有电子邮件地址都必须是有效的 Gmail 或 Google 托管的网域账号。应用管理员可以将以下账号添加到授权发件人列表中:
- 他们自己的电子邮件地址
- 他们是 Owner 或 Manager 的任何群组
- Google Workspace 网域
noreply@[DOMAIN].com
中托管的应用,前提是noreply@[DOMAIN].com
是有效账号(用户或群组)。
此外,Google Workspace 管理的网域的网域管理员可以将其网域中的任何用户添加到已获授权的发件人列表中。
您最多只能添加 50 个已获授权的发件人。
来自 Google Workspace 的邮件
如果您要从 Google Workspace 管理的网域发送电子邮件,则应为您的网域设置 DNS SPF
记录,以表明 Google 是您信任的电子邮件来源。如需了解如何执行此操作,请参阅 Google Workspace 帮助中心中的 SPF 记录。
请注意,如果您使用为 Google Workspace 网域设置的别名,则无法从使用该网域别名的电子邮件地址发送电子邮件。
邮件未送达时的退信通知
如果邮件与垃圾邮件、病毒或其他恶意内容的已知签名相匹配,则可能不会被传送。
如果 Mail 服务无法送达邮件,或者收件人的邮件服务器返回退信(例如因为该系统上没有该地址的账号),则发件人的电子邮件地址可能会收到一则错误消息。应用本身不会收到关于邮件是否成功送达的任何通知。
默认情况下不启用电子邮件退信通知。如需接收电子邮件退信通知,您需要对应用进行配置。如需了解详情,请参阅接收退信通知。
邮件和开发服务器
在开发服务器中运行的应用调用 Mail 服务以发送电子邮件时,该邮件将打印到应用日志中。开发服务器不发送电子邮件。
使用 DKIM(域名密钥识别邮件)进行身份验证
发送邮件时,App Engine 使用网域密钥识别邮件 (DKIM) 标准对网域进行身份验证。如果您的应用从属于 Google Workspace 网域的电子邮件地址发送邮件,则 App Engine 可以对其发送的电子邮件进行加密签名。此签名表明声称来自 emma@example.com
的电子邮件确实来自 example.com
。收件人可以检查此签名;如果签名正确,则收件人知道发件人的网域不是仿冒的。
如需对从 Google Workspace 电子邮件地址发送的邮件启用 DKIM 身份验证,请按照 Google Workspace 帮助中心中的相关说明操作。请注意,DKIM 身份验证可能需要长达 48 小时才会对 Google Workspace 网域有效。
您还必须确保您的应用使用自定义网域并且与您的 Google Workspace 网域相同。另请注意,不允许使用包含 subdomain.example.com
等子网域的 Google Workspace 网域。
如果发件人地址属于启用了 DKIM 的 Google Workspace 网域,则 App Engine 将对应用的外发邮件进行签名。此外,必须对发件人地址进行格式设置,以使电子邮件地址的网域部分仅包含小写字母。
配额和限制
如需查看应用的当前配额使用情况,请转到 Google Cloud Console 中的“配额详情”页面。
每个邮件服务请求都将计入 Mail API 调用配额。您可以发送的邮件数量、管理员邮件数量以及数据和附件数量也有各自的配额。如需了解更多详细信息,请参阅邮件配额。
配额每天清零重计。如果超过每日配额,您将收到超出配额异常。如果需要发送的邮件数量超出配额所允许的数量,您可以使用第三方邮件提供程序,例如 SendGrid 或 Mailgun。
除了配额以外,邮件服务还应遵循以下限额:
限制 | 数量 |
---|---|
传出邮件的最大大小(包括附件) | 31.5 MB |
传入邮件的最大大小(包括附件) | 31.5 MB |
将管理员作为收件人时的邮件最大大小 | 16 KB |
授权发件人的最大数量 | 50 |