무료 문자 발송 : 파이썬(Python)으로 문자(SMS) 보내기 – Twilio

Table of Contents

    네이버 환율 정보를 수시로 보고 있는 집사람을 위해  자동으로 환율 정보를 스크래핑해서 원하는 환율보다 저렴할때 문자를 보내는 기능을 만들고 싶어 조사를 해보니 무료 또는 저렴하게 문자를 보낼수 있는 서비스를 제공하는 업체가 몇군데 있었다. 

    그 중 몇개를 테스트 해보고 ,Twilio 를 이용하여 무료로 문자 방송을 할 수 있었다.

    twillo 소개

    Twilio는 클라우드 기반의 통신 플랫폼으로, 기업이 전 세계 어디서나 고객과 쉽게 연결될 수 있도록 지원합니다. 음성, 문자, 비디오, 이메일, 채팅 등 다양한 채널을 통합하여 고객과의 소통을 혁신적으로 개선합니다. Twilio의 API를 통해 개발자들은 빠르고 간편하게 통신 기능을 앱에 추가할 수 있으며, 이를 통해 고객 서비스와 비즈니스 운영을 효율적으로 향상시킬 수 있습니다. Twilio는 확장성과 신뢰성을 갖춘 솔루션으로 모든 규모의 기업에 적합합니다.

    twillo 메인 페이지.

    https://www.twilio.com/en-us 로 이동하여 상단의 ‘Start for free’ 버튼을 클릭하여 회원가입페이지로 이동합니다.

    무료 문자 발송 : 파이썬(Python)으로 문자(SMS) 보내기 - Twilio

    회원가입

    가입정보를 입력한후 제출 버튼을 클릭합니다. 하단에 구글로그인을 이용해 회원가입도 가능합니다.

    무료 문자 발송 : 파이썬(Python)으로 문자(SMS) 보내기 - Twilio

    로그인 페이지

    가입한 정보로 회원로그인 합니다.

    무료 문자 발송 : 파이썬(Python)으로 문자(SMS) 보내기 - Twilio

    전화번호 인증

    전화번호로 인증을 합니다.

    무료 문자 발송 : 파이썬(Python)으로 문자(SMS) 보내기 - Twilio

    콘솔 화면

    전화번호 인증이 완료되면 콘솔 화면으로 이동합니다. 기본적으로 15불 상당의 크레딧이 생성되고 이범위안에서 무료로 sms 를 발송할수 있습니다.

    무료 문자 발송 : 파이썬(Python)으로 문자(SMS) 보내기 - Twilio

    가상번호 만들기

    가상번호를 이용해서 sms발송을 하기 때문에 가상번호 생성을 해줍니다. 아애 Auth Token, Account SID 정보는 파이썬에서 인증을 할때 사용하는 코드입니다.

    무료 문자 발송 : 파이썬(Python)으로 문자(SMS) 보내기 - Twilio

    가상번호 확인

    Twilio 번호가 생성된것을 확인합니다. sms 발송 번호로 사용됩니다.

    무료 문자 발송 : 파이썬(Python)으로 문자(SMS) 보내기 - Twilio

    SMS 발송 테스트

    Body 에 text 를 입력한후 ‘Send test SMS’ 버튼을 클릭합니다. 정상적으로 발송되면 본인에게 sms 문자가 발송된것을 확인 할 수 있습니다. 다양한 프로그래밍을 사용하는 코드도 확인 가능합니다.

    무료 문자 발송 : 파이썬(Python)으로 문자(SMS) 보내기 - Twilio

    지금 부터는 프로그래밍에 대한 설명입니다.

    REST API를 통해 Python으로 SMS 메시지 보내기


    Twilio 계정에서 발신 SMS 메시지를 보내려면 Twilio  메시지 리소스에 HTTP POST를 만들어야 합니다.

    Twilio의 Python 라이브러리를 사용하면 메시지의 받는 사람, 보낸 사람, 본문 매개변수를 지정하여 메시지 리소스의 새 인스턴스를 만들 수 있습니다.

    Python 헬퍼 라이브러리가 아직 설치되어 있지 않은 경우 pip를 사용하여 설치할 수 있습니다:

    pip install twilio

    pip 를 사용한하고 수동으로 작업하려면 페이지를 참조하세요.

    이제 send_sms.py라는 파일을 만들고 다음 코드를 포함하세요:

    계정_sid 및 인증 토큰의 값을 고유한 값으로 바꿉니다. Twilio 콘솔에서 이 값을 찾을 수 있습니다.
    .

    
    import os
    from twilio.rest import Client
    
    account_sid = os.environ['계정_sid']
    auth_token = os.environ['인증 토큰']
    client = Client(account_sid, auth_token)
    
    message = client.messages \
        .create(
             body='테스트 문자 발송합니다.',
             from_='+15017122661',  # twilio 가상번호
             to='+15558675310'        #본인휴대폰번호
         )
    
    print(message.sid)
    

    출력메시지:

    {
      "account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "api_version": "2010-04-01",
      "body": "테스트 문자 발송합니다",
      "date_created": "Thu, 30 June 2024 20:12:31 +0000",
      "date_sent": "Thu, 30 June 2024 20:12:33 +0000",
      "date_updated": "Thu, 30 June 2024 20:12:33 +0000",
      "direction": "outbound-api",
      "error_code": null,
      "error_message": null,
      "from": "+15017122661",
      "messaging_service_sid": "MGXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "num_media": "0",
      "num_segments": "1",
      "price": null,
      "price_unit": null,
      "sid": "SMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "status": "queued",
      "subresource_uris": {
        "media": "/2024-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Media.json"
      },
      "to": "+15558675310",
      "uri": "/2024-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json"
    }

    참고: 테스트를 할경우 인증 정보를 하드코딩해도 좋지만 실제로 운영 배포하기 전에 환경 변수를 사용하여 인증정보를 비밀로 유지해야 합니다. 자세한 내용은 환경 변수 설정 방법 를 참조하세요.

    실행하기

    python send_sms.py

    잠시 후 SMS를 받으실 수 있습니다!

    발송 sms 확인

    Twilio 콘솔의 모니터 텝에서 메지시 발송 현황을 확인합니다.

    무료 문자 발송 : 파이썬(Python)으로 문자(SMS) 보내기 - Twilio

    sms 상세보기 _발송 건당 가격 확인

    발송 건수당 0.0079$ 인것을 확인할수 있다. 당분가 무료로 받은 크레딧으로 sms 를 발송할수 있다.

    무료 문자 발송 : 파이썬(Python)으로 문자(SMS) 보내기 - Twilio