📧 基于 SendGridKit 的 Vapor Web 框架的 SendGrid 库。
发送简单的电子邮件或利用 SendGrid 的 V3 API 的全部功能。
使用 SPM 字符串可以轻松地将依赖项包含在你的 Package.swift
文件中
.package(url: "https://github.com/vapor-community/sendgrid.git", from: "6.0.0"),
并将其添加到你的目标的依赖项中
.product(name: "SendGrid", package: "sendgrid"),
警告
请确保在你的环境中设置了 SENDGRID_API_KEY
变量。 这可以在 Xcode 方案中设置,或者在你的 docker-compose.yml
中指定,甚至可以作为 swift run
命令的一部分提供。 缺少 API 密钥将导致致命错误。
你可以使用此处的所有可用参数来构建你的 SendGridEmail
。
在路由闭包中的用法如下所示
import SendGrid
let email = SendGridEmail(…)
try await req.sendgrid.client.send(email: email)
如果由于任何原因导致对 API 的请求失败,则会抛出 SendGridError
,它具有一个 errors
属性,其中包含 API 返回的错误数组。
只需确保像处理任何其他抛出函数一样捕获抛出的错误即可。
import SendGrid
do {
try await req.sendgrid.client.send(email: email)
} catch let error as SendGridError {
req.logger.error("\(error.errors)")
}