paint-brush
Šis „NestJS“ paketas paverčia el. pašto sąranką iš „Košmaro“ į „No-Brainer“.pateikė@axotion
259 skaitymai

Šis „NestJS“ paketas paverčia el. pašto sąranką iš „Košmaro“ į „No-Brainer“.

pateikė Kamil Fronczak
Kamil Fronczak HackerNoon profile picture

Kamil Fronczak

@axotion

I’m a 2X-year-old tech dude from Poland, and this is...

5 min read2025/01/21
Read on Terminal Reader
Read this story in a terminal
Print this story
tldt arrow
lt-flagLT
Skaitykite šią istoriją lietuvių kalba!
en-flagEN
Read this story in the original language, English!
es-flagES
Lee esta historia en Español!
ja-flagJA
この物語を日本語で読んでください!
ky-flagKY
Бул окуяны кыргызча окуңуз!
th-flagTH
อ่านเรื่องนี้เป็นภาษาไทย!
eu-flagEU
Irakurri ipuin hau euskaraz!
ps-flagPS
دا کیسه په پښتو ژبه ولولئ!
uk-flagUK
Читайте цю історію українською!
ms-flagMS
Baca cerita ini dalam bahasa Melayu!
sw-flagSW
Soma hadithi hii kwa kiswahili!
lo-flagLO
ອ່ານເລື່ອງນີ້ເປັນພາສາລາວ!
ts-flagTS
Hlaya xitori lexi hi Xitsonga!
LT

Per ilgai; Skaityti

„Nestjs-mailer“ paketas yra modernus įrankis, leidžiantis kurti dinaminius el. pašto šablonus ir be vargo siųsti el. laiškus. Tai išnaudoja „React“ ir „Nodemailer“ galias, todėl tai yra kūrėjams patogus įrankis.
featured image - Šis „NestJS“ paketas paverčia el. pašto sąranką iš „Košmaro“ į „No-Brainer“.
Kamil Fronczak HackerNoon profile picture
Kamil Fronczak

Kamil Fronczak

@axotion

I’m a 2X-year-old tech dude from Poland, and this is my blog about tech stuff: NestJS, Node

El. laiškų siuntimas yra svarbi daugelio programų funkcija, nesvarbu, ar tai naudotojų pranešimai, operacijų atnaujinimai ar rinkodaros tikslai.


Tačiau el. pašto sprendimų įgyvendinimas kartais gali būti sudėtingas, nes turite integruoti laiškus su šablonų kalba, patikrinti, ar nėra priklausomybių...


Bet!


Naudodami paketą @nestixis/nestjs-mailer galite supaprastinti šį procesą, kartu užtikrindami lankstumą ir patikimumą.


Šis paketas išnaudoja „React“ ir „Nodemailer“ galias, todėl tai yra modernus ir kūrėjams patogus įrankis, leidžiantis kurti dinaminius el. pašto šablonus ir be vargo siųsti el.


Pasinerkime į tai, kaip galite jį nustatyti ir naudoti :)

Paketo įdiegimas

Norėdami pradėti, savo NestJS programoje turite įdiegti paketą nestjs-mailer . Šis paketas pasiekiamas per npm, todėl diegimas yra greitas ir paprastas. Savo terminale paleiskite šią komandą:

 npm install @nestixis/nestjs-mailer

Modulio konfigūravimas

Kai paketas bus įdiegtas, kitas žingsnis yra sukonfigūruoti MailerSdkModule programoje.


Konfigūravimas yra paprastas, o bandymo tikslais galite naudoti įrankį, pvz Mailcatch fiksuoti ir peržiūrėti el. laiškus nesiunčiant jų tikriems vartotojams.


Štai pavyzdys, kaip jį nustatyti:

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

El. pašto šablono kūrimas

Norėdami, kad jūsų el. laiškai būtų vizualiai patrauklūs ir dinamiškesni, galite derinti šablonus su React, o paketas @react-email/components leidžia kurti tokius el. pašto šablonus.


**Tačiau prieš tai turėtumėte iškviesti failą Kutsu-admin-with-account-template.tsx ir nustatyti
**

"jsx": "react"

savo tsconfig.json


Štai šablono, skirto pakviesti naują administratorių, pavyzdys:

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

El. pašto siuntėjo įvedimas

Sukūrę el. pašto šabloną, kitas žingsnis yra išsiųsti el. laišką. Norėdami tai padaryti, įveskite el. pašto siuntėją į savo paslaugą.

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

Atlikta!

Vaizdo aprašymas

Vaizdo aprašymas

tai viskas! Sėkmingai integravote nestjs-mailer į savo programą.


Norėdami gauti daugiau informacijos ir išplėstinių funkcijų, žr „NestJS“ laiškų siuntėjo „GitHub“ saugykla .

L O A D I N G
. . . comments & more!

About Author

Kamil Fronczak HackerNoon profile picture
Kamil Fronczak@axotion
I’m a 2X-year-old tech dude from Poland, and this is my blog about tech stuff: NestJS, Node

PABAIGTI ŽYMES

ŠIS STRAIPSNIS BUVO PRISTATYMAS...

Read on Terminal Reader
Read this story in a terminal
 Terminal
Read this story w/o Javascript
Read this story w/o Javascript
 Lite
Also published here
X REMOVE AD