Mezu elektronikoak bidaltzea funtzio kritikoa da aplikazio askotan, erabiltzaileen jakinarazpenetarako, transakzio-eguneratzeetarako edo marketin-helburuetarako. Hala ere, posta elektronikoko irtenbideak ezartzea batzuetan astuna izan daiteke, mailer txantiloi-hizkuntzarekin integratu behar baita, mendekotasunak egiaztatu... Baina! paketearekin, prozesu hau erraztu dezakezu malgutasuna eta fidagarritasuna bermatuz. @nestixis/nestjs-mailer Pakete honek React eta Nodemailer-en boterea aprobetxatzen du, posta elektronikoko txantiloi dinamikoak eraikitzeko eta mezu elektronikoak ahaleginik gabe bidaltzeko tresna moderno eta garatzaileentzako egokia bihurtuz. Murgil dezagun nola konfiguratu eta erabil dezakezun :) Paketea instalatzen Hasteko, paketea instalatu behar duzu zure NestJS aplikazioan. Pakete hau npm bidez eskuragarri dago, instalazioa azkarra eta erraza eginez. Exekutatu komando hau zure terminalean: nestjs-mailer npm install @nestixis/nestjs-mailer Modulua konfiguratzea Paketea instalatuta dagoenean, hurrengo urratsa zure aplikazioan konfiguratzea da. MailerSdkModule Konfigurazioa erraza da, eta probak egiteko, antzeko tresna bat erabil dezakezu mezu elektronikoak harrapatzeko eta aurreikusteko, benetako erabiltzaileei bidali gabe. Mailatch Hona hemen konfiguratzeko adibide bat: import { MailerSdkModule } from '@nestixis/nestjs-mailer'; import { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; @Module({ imports: [ MailerSdkModule.register({ auth: { user: 'username', password: 'password', host: 'sandbox-smtp.mailcatch.app', port: 2525, ssl: false, }, from: 'your-email@example.com', }), ], controllers: [AppController], providers: [AppService], }) export class AppModule {} Posta elektronikoaren txantiloia sortzea Zure mezu elektronikoak bisualki erakargarriak eta dinamikoagoak izan daitezen, React-ekin txantiloiak konbina ditzakezu, eta paketearekin, horrelako mezu elektronikoen txantiloiak diseinatzeko aukera ematen du. @react-email/components ** Baina aurretik, invite-admin-with-account-template.tsx fitxategira deitu eta ezarri ** "jsx": "react" zure tsconfig.json-en Hona hemen administratzaile berri bat gonbidatzeko txantiloi baten adibidea: import { Body, Container, Head, Html, Img, Link, Section, Text, } from '@react-email/components'; import * as React from 'react'; export default function InviteAdminWithAccountTemplate({ translation, language, invitationHref, passwordHref, logoUrl, }) { return ( <Html lang={language}> <Head> <style>{/* Your custom styles here */}</style> </Head> <Body style={{ fontFamily: 'Arial, sans-serif' }}> <Section> <Container> {logoUrl ? ( <Img src={logoUrl} alt="Logo" /> ) : ( <Text>{translation.titleInside}</Text> )} <Text>{translation.contentPart1}</Text> <Text>{translation.contentPart2}</Text> <Text> {translation.contentPart3.subpart1} <Link href={invitationHref}> {translation.contentPart3.subpart2} </Link> {translation.contentPart3.subpart3} </Text> <Text> {translation.contentPart4.subpart1} <Link href={passwordHref}> {translation.contentPart4.subpart2} </Link> </Text> </Container> </Section> </Body> </Html> ); } Posta elektronikoaren bidaltzailea injektatzen Zure posta elektronikoaren txantiloia sortu ondoren, hurrengo urratsa mezu elektronikoa bidaltzea da. Horretarako, posta elektronikoaren bidaltzailea zure zerbitzuan sartzen duzu. import { EmailSenderInterface, MAILER_SDK_CLIENT, } from '@nestixis/nestjs-mailer'; import { Inject, Injectable } from '@nestjs/common'; import InviteAdminWithAccountTemplate from './invite-admin-with-account-template'; @Injectable() export class AppService { constructor( @Inject(MAILER_SDK_CLIENT) private readonly emailSender: EmailSenderInterface, ) {} async send(): Promise<void> { const translations = { titleInside: { subpart1: 'Welcome', subpart2: ' to the platform!' }, contentPart1: 'Hello', contentPart2: 'Your admin account has been created.', contentPart3: { subpart1: 'Click here to activate your account: ', subpart2: 'Activate', subpart3: '.', }, contentPart4: { subpart1: 'To set your password, click here: ', subpart2: 'Set password', }, }; const emailContent = await InviteAdminWithAccountTemplate({ translation: translations, language: 'en', invitationHref: 'xxx', passwordHref: 'xxx', logoUrl: 'logo.png', }); await this.emailSender.sendEmail( 'test@test.com', 'Admin Invitation', emailContent, ); } } Eginda! Hori da! ongi integratu duzu zure aplikazioan. nestjs-mailer Xehetasun gehiago eta funtzio aurreratuak lortzeko, begiratu . NestJS posta elektronikoaren GitHub biltegia