Computer >> कंप्यूटर ट्यूटोरियल >  >> सॉफ्टवेयर >> ईमेल

NestJS में Nodemailer से ईमेल डिलीवरी मास्टर करें: चरण-दर-चरण गाइड

NestJS सीखते समय Nodemailer से टेस्ट ईमेल भेजना चाहता था, लेकिन NestJS कॉन्टेक्स्ट में कॉन्फ़िगरेशन मुश्किल लगा। शोध के बाद सरल समाधान मिला—इस लेख में वही साझा कर रहा हूं।

विषय सूची

  • NestJS प्रोजेक्ट सेटअप
  • Nodemailer कॉन्फ़िगरेशन
  • ईमेल भेजना
  • निष्कर्ष

1. NestJS प्रोजेक्ट सेटअप

$ npm i -g @nestjs/cli
$ nest new nodemailer-app
$ cd nodemailer-app
$ npm i --save @nestjs-modules/mailer nodemailer
$ npm i --save-dev @types/nodemailer

2. Nodemailer कॉन्फ़िगर करें

Mailtrap.io पर अकाउंट बनाएं, Email Testing इनबॉक्स बनाएं, और क्रेडेंशियल्स (होस्ट, पोर्ट, यूज़र, पास) नोट करें।

app.module.ts में:

import { Module } from '@nestjs/common';
import { MailerModule } from '@nestjs-modules/mailer';
import { ConfigModule } from '@nestjs/config';

@Module({
  imports: [
    ConfigModule.forRoot({ envFilePath: '.env', isGlobal: true }),
    MailerModule.forRoot({
      transport: {
        host: process.env.EMAIL_HOST,
        port: process.env.EMAIL_PORT,
        auth: {
          user: process.env.EMAIL_USERNAME,
          pass: process.env.EMAIL_PASSWORD,
        },
      },
    }),
  ],
  controllers: [AppController],
  providers: [AppService],
})
export class AppModule {}

.env फ़ाइल बनाएं:

EMAIL_HOST=smtp.mailtrap.io
EMAIL_PORT=2525
EMAIL_USERNAME=your-mailtrap-username
EMAIL_PASSWORD=your-mailtrap-password

@nestjs/config इंस्टॉल करना न भूलें: npm i --save @nestjs/config

3. ईमेल भेजें

app.service.ts में सेवा बनाएं:

import { Injectable } from '@nestjs/common';
import { MailerService } from '@nestjs-modules/mailer';

@Injectable()
export class AppService {
  constructor(private readonly mailService: MailerService) {}

  async sendMail() {
    const message = `Forgot your password? If you didn't request this, please ignore.`;
    await this.mailService.sendMail({
      from: 'Kingsley Okure <kingsleyokgeorge@gmail.com>',
      to: 'joanna@gmail.com',
      subject: 'How to Send Emails with Nodemailer',
      text: message,
    });
  }
}

app.controller.ts में एंडपॉइंट:

import { Controller, Get, Res } from '@nestjs/common';
import { AppService } from './app.service';

@Controller()
export class AppController {
  constructor(private readonly appService: AppService) {}

  @Get()
  async sendMailer(@Res() response: any) {
    await this.appService.sendMail();
    return response.status(200).json({ message: 'success' });
  }
}

4. टेस्ट करें

  1. ऐप चलाएं: npm run start
  2. Postman से GET https://localhost:3000 हिट करें
  3. Mailtrap इनबॉक्स चेक करें — ईमेल दिखेगा

वास्तविक उपयोग: पासवर्ड रीसेट फ्लो

असली ऐप में यह /forgot-password रूट में होगा, जहां यूज़र ईमेल देता है, टोकन जनरेट होता है, और रीसेट लिंक ईमेल होता है।

निष्कर्ष

NestJS में @nestjs-modules/mailer रैपर Nodemailer कॉन्फ़िगरेशन को साफ़ और मॉड्यूलर बनाता है। पर्यावरण वेरिएबल्स से क्रेडेंशियल्स अलग रखना सुरक्षित अभ्यास है।

  1. Chrome Canary: यह क्या है (और किसे इसकी आवश्यकता है) Chrome Canary: यह क्या है (और किसे इसकी आवश्यकता है)

    Chrome Canary, Google का अत्याधुनिक वेब ब्राउज़र है जो डेवलपर्स, अनुभवी तकनीकी विशेषज्ञों, और ब्राउज़र उत्साही लोगों के लिए लक्षित है। यदि आप नए वेब ब्राउज़र के साथ प्रयोग करने का आनंद लेते हैं, तो यह आपके लिए हो सकता है। Chrome Canary क्या है? Canary, लोकप्रिय Chrome ब्राउज़र का एक प्रायोगिक संस्क

  1. माइक्रोसॉफ्ट ऑफिस में स्टेटस बार को अनुकूलित करें माइक्रोसॉफ्ट ऑफिस में स्टेटस बार को अनुकूलित करें

    माइक्रोसॉफ्ट वर्ड, एक्सेल, पावरपॉइंट, और आउटलुक जैसे प्रोग्राम एक स्टेटस बार तैनात करते हैं जो महत्वपूर्ण प्रासंगिक जानकारी प्रदान करता है। इसे अपनी आवश्यकताओं को पूरा करने के लिए संशोधित करें। स्टेटस बार वर्तमान में समर्थित माइक्रोसॉफ्ट ऑफिस एप्लिकेशन के सभी डेस्कटॉप संस्करणों में दिखाई देता है, जि

  1. पीक परफॉर्मेंस अनलॉक करें: विंडोज अल्टीमेट परफॉर्मेंस पावर प्लान सक्षम करें पीक परफॉर्मेंस अनलॉक करें: विंडोज अल्टीमेट परफॉर्मेंस पावर प्लान सक्षम करें

    क्या आप एक पावर यूज़र हैं जो अपने पीसी के प्रदर्शन को बढ़ावा देने के तरीकों की तलाश में हैं? यदि हां, तो आप विंडोज में अल्टीमेट परफॉर्मेंस को सक्षम करने पर विचार कर सकते हैं। यह एक पावर प्लान है जो ऊर्जा प्रबंधन से संबंधित देरी को समाप्त करता है और सुनिश्चित करता है कि CPU और अन्य हार्डवेयर घटक हमेश