avatar

SendGrid

Documentation Team Chat MIT License Continuous Integration Swift 6.0+

📧 基于 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 密钥将导致致命错误。

使用 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)")
}