Mail API - SendGrid

    npm i sendgrid/mail
npm i anchan828/nest-sendgrid
  • `MailConstant.ts'
   export class MailConstant {
public static FROM_EMAIL = "coach@learn2build.in";
public static REGISTRATION_TEMPLATE_ID = "d-123";
}
    import { MailConstant } from './../mail-constant';
import { SendGridService } from '@anchan828/nest-sendgrid';
import { Injectable } from '@nestjs/common';

import * as sgMail from '@sendgrid/mail';

@Injectable()
export class MailService {

constructor(private readonly sendGrid: SendGridService ){
console.log("API Key:", process.env.SENDGRID_API_KEY);
//sgMail.setApiKey(process.env.SENDGRID_API_KEY);
}

async sendMail(data:any){
try {
console.log(data);
data["from"] = MailConstant.FROM_EMAIL;
return await this.sendGrid.send(data);
console.log("Mail sent");
} catch (error) {
console.error(error);

if (error.response) {
console.error(error.response.body)
throw new Error(error.response.body);
}
}
}
}