使用第三方服务发送消息

App Engine 应用可以使用第三方公司提供的服务发送电子邮件、短信或接打电话。例如,您可以发送电子邮件确认业务交易、用户账号的创建,或者发送营销讯息。

本页面例举了一些公司,这些公司为 App Engine 应用提供通信服务和客户端库。

Mailgun

Mailgun 提供用于发送电子邮件的 RESTful API 和客户端库,并为所有用户提供免费配额。对于超出该数量的额外邮件,请参考注册页面上的每月价格计算器,了解相关价格和批量折扣。

详细了解 Mailgun:

Mailjet

Mailjet 是全球电子邮件服务,它为 App Engine 用户提供免费配额。如需使用这项优惠,请点击以下链接创建 Mailjet 账号

详细了解 Mailjet:

SendGrid

您可以使用 SendGrid 在 App Engine 上实现电子邮件功能。SendGrid 可以提高电子邮件递送能力,并让您清楚地了解应用发送的电子邮件的后续情况。借助 SendGrid 界面或其 API,您可以查看有关邮件打开、点击、退订、垃圾信息举报以及其他内容的统计信息。

App Engine 客户可以通过 Google Cloud 控制台注册加入 SendGrid Email API 计划来充分利用免费配额。请注意,Google 会向注册付费账号的客户收取费用。

详细了解 SendGrid:

通过 Twilio 使用短信和语音服务

通过 Twilio,您可以将语音、VoIP 和短信功能嵌入应用中。Twilio 平台由 Twilio 标记语言 (TwiML)RESTful API 以及适用于网络浏览器、Android 和 iOS 的 VoIP SDK 组成。

详细了解 Twilio:

将客户端库和第三方 API 密钥添加到应用

如需在 App Engine 开发和部署环境中提供客户端库,请将该库指定为依赖项。例如,如需指定 Node.js 运行时的依赖项,请参阅此处

大多数第三方服务都会使用 API 密钥来对应用进行身份验证。您可以在第三方网站上生成密钥。如需在应用中使用第三方 API 密钥,请执行以下操作:

  1. 将 API 密钥存储在 Secret Manager 中,并在实例启动时安全地提取密钥

  2. 使用 Cloud Key Management Service 对密钥进行加密,将加密后的密钥存储在环境变量中,并在实例启动时以编程方式对其进行解密

  3. 对于非生产环境,您可以将密钥本身存储在环境变量中。请注意,有权访问您的 app.yaml 文件的任何人也有权访问您的密钥。

如需了解每种方法的优点,请参阅选择密钥管理解决方案

如需将密钥或加密的密钥值存储在环境变量中,请执行以下操作:

  1. 将密钥或加密的密钥值添加到应用 app.yaml 文件中的环境变量部分。

    例如:

     env_variables:
         EMAIL_API_KEY: key-from-third-party OR encrypted-key
    

    如果您使用的是 Node.js 运行时,请将密钥添加到应用 app.standard.yaml 文件的应用环境变量部分中的配置变量。

  2. 在应用的代码中,从环境变量检索密钥或加密的密钥。

    例如,如果您使用的是 Python 运行时:

     EMAIL_API_KEY = os.environ['EMAIL_API_KEY']
    
  3. 根据第三方 API 的要求传递密钥。 如果您之前对密钥进行了加密,请务必对密钥进行解密