nest-mailman을 소개합니다 🎉🎉

안녕하세요 여러분! Nest-mailman의 첫 번째 버전을 출시하게 되어 매우 기쁩니다. Mailman을 사용하면 NestJS 애플리케이션에서 간편하게 메일을 보낼 수 있습니다. 이 블로그 게시물은 패키지에 대한 간단한 개요를 제공하며 전체 문서는 nest-mailman 에서 볼 수 있습니다.

약간의 배경



지난 몇 달 동안 squareboat에서 NestJS의 영역에 들어갔습니다.

유연성이 있는 Node.js 프로젝트가 쉽게 손에 잡히지 않을 수 있다는 점을 인정합시다. 올바른 Node.js 프로젝트 구조를 얻기 위해 몇 달 동안 노력한 끝에 우리는 우연히 NestJS를 발견했고 그 이후로 뒤돌아보지 않았습니다.

우리가 작업해 온 nest-mailman 및 기타nest packages에 대한 우리의 동기는 대부분의 응용 프로그램 사용 사례를 해결할 유틸리티 패키지를 제공하는 것입니다.

Enough talk show me the code!



설치



mailman을 시작하고 실행하려면 다음을 실행하십시오.
npm i @squareboat/nest-mailman --save

용법



먼저 가져오기MailmanModule를 구성 옵션으로 등록합니다. 이 기사에서는 register 구문을 사용하여 모듈을 정적으로 등록하지만 권장 접근 방식은 registerAsync 를 통해 구성 옵션을 제공하는 것입니다. 자세한 설명은 https://opensource.squareboat.com/nest-mailman/docs/send-mail을 참조하십시오.

import { MailmanModule } from '@squareboat/nest-mailman';

@Module({
  imports: [
    MailmanModule.register({
      host: 'smtp.mailtrap.io',
      port: 2525,
      username: 'c88XXXXXXXXX',
      password: 'sdsXXXXXXXXX',
      from: '[email protected]',
      path: 'path/to/mail/templates'
    }),
  ],
})
export class TestModule {}



NestJS가 매우 강조하는 SOLID 원칙에 따라 Mailman은 MailMessageMailman의 두 가지 중요한 API와 함께 제공됩니다.
  • MailMessage는 메일 작성을 담당하는 반면 Mailman은 운송업자의 작업을 수행합니다(실제 생활에서 우편 배달부가 일하는 방식과 마찬가지로 그들은 우리를 위해 메일을 작성하지 않고 의도한 곳으로만 ​​가져갑니다).
  • Mailman이 MailMessage의 인스턴스를 수락하고 지정된 수신자에게 메일을 전송합니다.

  • // test.service.ts
    import { MailMessage } from '@squareboat/nest-mailman';
    
    @Injectable()
    export class TestmailService {
      triggerMail() {
    
        // Building mail message
        const mailMessage = MailMessage.init();
        mailMessage
          .subject('Order Received')
          .view('orderReceived', { productName: 'XYZ', productId: 123 }); // will look for orderReceived.hbs
    
        // Sending the constructed mail
        Mailman
          .init()
          .to('[email protected]')
          .send(mailMessage);
        return 'Done';
      }
    }
    


    Mailman은 기본적으로 핸들바 템플릿에 대해 구성되며 모든 템플릿 파일 이름에 추가됩니다.hbs.

    보너스



    우리는 귀하의 응용 프로그램이 출시하는 모든 메일에 대한 템플릿을 작성하는 것이 개발자가 경멸하는 절대적인 잡일이라는 것을 이해하고 있으며 이것이 mailman이 함수 호출만큼 간단하게 이메일을 구축할 수 있는 매우 간단한 일반 메일 빌더 API와 함께 제공되는 이유입니다.

    triggerMail(){
      const mailMessage = MailMessage.init();
    
      mailMessage
        .subject('Testing 2')
        .greeting('Hello Sarah,')
        .line("You've received a new enquiry")
        .line('Summary: The product looks promising! would love to setup a call to discuss more')
        .action('View Enquiry', 'https://app.test.in/admin/queries/123');
    // ... and you can call line(), action() methods any number of times to build your mail
    }
    


    그리고 bam🌟 메일이 준비되었습니다.



    nest-mailman에 대한 전체 개요를 보려면 ( https://opensource.squareboat.com/nest-mailman/ )를 방문하십시오.


    그리고 이것은 지역 사회에 돌려주는 우리의 기회입니다. 사용 가능한 패키지에 대해 자세히 알아보려면 당사site로 이동하십시오. 우리는 피드백, 비판, 물론 기여를 찾고 있습니다. 또 봐요!

    좋은 웹페이지 즐겨찾기