[Twilio] nestjs 문자 SMS 발송

2021. 8. 11. 23:38라이브러리 & 프레임워크

반응형

과거 SMS 문자 발송하는 시스템은 어떻게 만드는지 궁금 하였는데, 

이번에 회사에서 문자 발송하는 시스템을 직접 도맡아서 개발 하였다.

사실 이 기능은 굳이 필요 한 기능은 아니지만, 개인적인 욕심으로 만들어 보았다.

 

import { TwilioModule } from 'nestjs-twilio';

@Module({
	imports: [
    	TwilioModule.forRoot({
	      accountSid: 'ACCOUNT SID값 입력',
    	  authToken: 'AUTH TOKEN 값 입력',
	    })],
    providers: [SendSMSService],
	exports: [SendSMSService],
})

export class SendSMSModule {}

// SendSMS.Module.ts

위 accountSid와 authToken 값은 어디서 가져오는지 알아보자

Twilio에 가입 하고 로그인 하면 뜨는 첫 번째 페이지

첫 페이지에 관련 정보가 뜬다.

참고로, 처음 가입 하고 나서 자신의 번호로 쓰는줄 알았지만, 아니다.

해당 서비스에서 번호를 부여해 준다. 

첫 페이지에 보면 '번호부여받기' 버튼이 있는데 이 것을 클릭 해서 번호를 부여 받으면 된다.

import { Injectable } from '@nestjs/common';
import { InjectTwilio, TwilioClient } from 'nestjs-twilio';

@Injectable()
export class SendmailService {
  constructor(
    @InjectTwilio() private readonly client: TwilioClient,
  ) {}
  
  public async sendSMS(toEmail: string) {
    try {
      return await this.client.messages.create({
        body: '문자 서비스 테스트 중이다',
        from: '부여 받은 내 번호를 여기에 입력 한다.',
        to: '+82보내려는 핸드폰 번호', // 한국은 국제 번호가 +82 이므로, 핸드폰 번호 앞에 +82를 붙인다. ex: 010-1234-1234라면, +8201012341234
      });
    } catch (err) {
      console.log('err: ', err);
    }
}

// SendSMS.service.ts

 

반응형