Skip to content

Sendgrid Email Provider

To use Sendgrid as your email provider, you need to create an account and obtain your API Key.

Then copy your API key and add it to the .env file

SENDGRID_API_KEY='your-sendgrid-api-key'

The code for Sendgrid is found in server/_/mail/poviders/sendgrid.ts

ts
import sendgrid from '@sendgrid/mail'
import type {
  SendEmailHandler,
  SendEmailParams,
  SendEmailWithHtml,
  SendEmailWithText,
} from '~/server/_/mail/types'

const config = useRuntimeConfig()
console.log(config.sendgridApiKey)
sendgrid.setApiKey(config.sendgridApiKey)

export const send: SendEmailHandler = async (params: SendEmailParams) => {
  const { subject, recipient: to } = params

  // Type assertion to safely access html and text properties
  const html = (params as SendEmailWithHtml).html
  const text = (params as SendEmailWithText).text
  await sendgrid.send({
    from: config.emailSenderAddress,
    to,
    subject,
    html,
    text,
  })
}

For more information, pleasw refer to the Sendgrid docs