SendGridKit is a Swift package used to communicate with the SendGrid API for Server Side Swift Apps.
Add the dependency to Package.swift:
dependencies: [
...
.package(url: "https://github.com/vapor-community/sendgrid-kit.git", from: "2.0.0")
],
targets: [
.target(name: "App", dependencies: [
.product(name: "SendGridKit", package: "sendgrid-kit"),
]),
Register the config and the provider.
let httpClient = HTTPClient(...)
let sendGridClient = SendGridClient(httpClient: httpClient, apiKey: "YOUR_API_KEY")
You can use all of the available parameters here to build your SendGridEmail
Usage in a route closure would be as followed:
import SendGrid
let email = SendGridEmail(...)
try await sendGridClient.send(email)
If the request to the API failed for any reason a SendGridError
is thrown
and has an errors
property that contains an array of errors returned by the API.
Simply ensure you catch errors thrown like any other throwing function
do {
try await sendGridClient.send(...)
}
catch let error as SendGridError {
print(error)
}