Skip to content

vapor-community/sendgrid-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SendGridKit

Swift

SendGridKit is a Swift package used to communicate with the SendGrid API for Server Side Swift Apps.

Setup

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")

Using the API

You can use all of the available parameters here to build your SendGridEmail Usage in a route closure would be as followed:

import SendGridKit

let email = SendGridEmail(...)
try await sendGridClient.send(email)

Error handling

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)
}