Cách gửi và nhận SMS bằng Python

Tin nhắn văn bản Dịch vụ tin nhắn ngắn [SMS] phổ biến để liên lạc trên toàn thế giới. Thật dễ dàng để gửi tin nhắn văn bản SMS từ ứng dụng Python bằng giao diện lập trình ứng dụng web [API]. Chúng ta hãy xem các công cụ chúng ta cần để nhanh chóng thêm khả năng SMS vào các ứng dụng Python của mình

Công cụ chúng tôi cần

Hướng dẫn này hoạt động với cả Python 2 và 3, vì vậy hãy đảm bảo bạn đã cài đặt một trong hai phiên bản đó

Nếu bạn cần hỗ trợ cài đặt pip và virtualenv, hãy xem một số bước đầu tiên về cách thiết lập Python 3, Flask và Green Unicorn trên Ubuntu 16. 04 Hướng dẫn LTS sẽ chỉ cách cài đặt các gói hệ thống cho các công cụ đó

Sử dụng API Web

Chúng tôi sẽ sử dụng API web để gửi SMS dễ dàng hơn và đáng tin cậy hơn. Truy cập trang web Twilio và đăng ký tài khoản dùng thử miễn phí, tuyệt vời hơn là chỉ gửi tin nhắn văn bản. ] sau đó đăng nhập vào tài khoản hiện tại của bạn

Tài khoản dùng thử Twilio cho phép bạn gửi tin nhắn văn bản đến số điện thoại đã được xác thực của riêng bạn. Khi bạn muốn gửi tin nhắn SMS đến bất kỳ số điện thoại nào ở quốc gia của bạn hoặc các quốc gia khác thì bạn có thể nâng cấp tài khoản của mình để gửi tin nhắn cho các phân số của một xu

Sau khi đăng ký, bạn sẽ nhận được một số điện thoại miễn phí ở quốc gia của mình. Chúng tôi có thể sử dụng số điện thoại đó mà không cần bất kỳ cấu hình nào để gửi tin nhắn văn bản đi. Bạn cũng có thể nhận tin nhắn văn bản nhưng điều đó yêu cầu phải thay đổi webhook URL Yêu cầu trong màn hình cấu hình số điện thoại - chúng tôi sẽ đề cập đến điều đó trong một bài đăng trên blog trong tương lai

Cài đặt phụ thuộc của chúng tôi

Mã của chúng tôi sẽ sử dụng thư viện trợ giúp để giúp gửi tin nhắn văn bản từ Python dễ dàng hơn. Chúng tôi sẽ cài đặt thư viện trợ giúp từ PyPI vào virtualenv. Đầu tiên chúng ta cần tạo virtualenv. Trong thiết bị đầu cuối của bạn, hãy sử dụng lệnh sau để tạo một virtualenv mới. Nếu bạn cần cài đặt virtualenv, hãy xem cách thiết lập Python 3, Flask và Green Unicorn trên Ubuntu 16. 04 hướng dẫn LTS

Kích hoạt virtualenv

source sendsms/bin/activate

Dấu nhắc lệnh sẽ thay đổi sau khi chúng tôi kích hoạt đúng cách virtualenv thành một thứ như thế này

Bây giờ hãy cài đặt thư viện trợ giúp Twilio Python. Chúng tôi đang sử dụng 6. 0. 0 trở lên, điều này rất quan trọng vì cú pháp trong bài đăng này không tương thích ngược với 5. x và các phiên bản thư viện trợ giúp Twilio trước đó

pip install twilio>=6.0.0

Thư viện trợ giúp hiện đã được cài đặt và chúng tôi có thể sử dụng nó với mã Python mà chúng tôi tạo và thực thi

Gửi SMS từ Python

Kích hoạt trình thông dịch Python trong thiết bị đầu cuối bằng lệnh python hoặc tạo một tệp mới có tên send_sms.py

Chúng tôi cần lấy thông tin đăng nhập tài khoản của mình từ Bảng điều khiển Twilio để kết nối mã Python với tài khoản Twilio của chúng tôi. Truy cập Bảng điều khiển Twilio và sao chép SID tài khoản và Mã thông báo xác thực vào mã Python của bạn

Nhập đoạn mã sau vào trình thông dịch hoặc vào tệp Python mới. Bạn cũng có thể sao chép và dán mã từ kho lưu trữ blog-code-examples Git trong tổ chức Full Stack Python GitHub

# we import the Twilio client from the dependency we just installed
from twilio.rest import Client

# the following line needs your Twilio Account SID and Auth Token
client = Client["ACxxxxxxxxxxxxxx", "zzzzzzzzzzzzz"]

# change the "from_" number to your Twilio number and the "to" number
# to the phone number you signed up for Twilio with, or upgrade your
# account to send SMS to any phone number
client.messages.create[to="+19732644152", 
                       from_="+12023351278", 
                       body="Hello from Python!"]

Tất cả các dòng trên bắt đầu bằng # đều là nhận xét. Khi bạn nhập mã đó vào trình thông dịch hoặc chạy tập lệnh Python bằng cách sử dụng python send_sms.py, SMS sẽ được gửi

Trong vài giây, bạn sẽ thấy một thông báo xuất hiện trên điện thoại của mình. Tôi đang dùng iOS nên đây là giao diện của tin nhắn văn bản tôi nhận được

Đó là nó. Bạn có thể thêm mã này vào bất kỳ mã Python nào để gửi tin nhắn văn bản. Chỉ cần giữ bí mật Mã thông báo xác thực của bạn vì nó sẽ cho phép bất kỳ ai có nó sử dụng tài khoản của bạn để gửi và nhận tin nhắn

Câu hỏi? . Tôi cũng trên GitHub với tên người dùng là mattmakai

Python luôn đứng đầu danh sách các ngôn ngữ phổ biến, vì vậy hãy xem cách gửi tin nhắn văn bản bằng Python

Thủ thuật không phải là ngôn ngữ bạn sử dụng để gửi tin nhắn văn bản, mà là API bạn sử dụng

Chắc chắn, về mặt lý thuyết, bạn có thể viết mã từ đầu để chấp nhận văn bản, định dạng nó cho SMS và chuyển tiếp nó đến nhà cung cấp dịch vụ viễn thông. Mười lăm năm trước, có thể bạn sẽ làm điều đó, nhưng nhờ các nhà cung cấp dịch vụ đám mây, không ai cần phải làm điều đó nữa

Ngày nay, chúng ta có hàng tá nền tảng truyền thông đám mây cung cấp giao diện lập trình ứng dụng [API] mà bất kỳ ai cũng có thể sử dụng để thêm tin nhắn văn bản vào ứng dụng một cách nhanh chóng

API SMS cho phép nhà phát triển tích hợp gửi và nhận tin nhắn văn bản với các ứng dụng hiện có của họ. Ở mặt sau, nó giao tiếp với một nền tảng truyền thông giao tiếp với các mạng viễn thông và thực hiện xử lý tin nhắn thực tế

Để xem nó hoạt động như thế nào, chúng tôi đã xem API SMS của Plivo. Plivo có xếp hạng cao nhất về mức độ hài lòng trong số các nền tảng truyền thông đám mây trên trang web đánh giá ngang hàng độc lập G2. Plivo cung cấp bộ công cụ phát triển phần mềm [SDK] bằng bảy ngôn ngữ, bao gồm cả Python

Để bắt đầu, hãy đăng ký tài khoản Plivo miễn phí và sử dụng tín dụng miễn phí được cung cấp để thuê số điện thoại để gửi và nhận tin nhắn

Tài liệu của Plivo cung cấp hướng dẫn về cách thiết lập môi trường phát triển Python, bao gồm cài đặt PlivoPython SDK, thiết lập máy chủ Flask và cài đặt ngrok, hiển thị các máy chủ cục bộ chạy phía sau NAT và tường lửa với internet công cộng qua các đường hầm an toàn

Bạn không cần Flask hoặc ngrok để gửi tin nhắn SMS, nhưng nếu định nhận chúng, bạn sẽ cần sử dụng các công cụ như thế này

Tạo ứng dụng Gửi SMS

Bây giờ bạn có thể đi sâu vào mã hóa. Tạo một tệp có tên send_sms. py và dán vào mã này

Thay thế trình giữ chỗ xác thực bằng thông tin đăng nhập xác thực cho tài khoản của bạn, bạn có thể tìm thấy thông tin này trên trang đầu của bảng điều khiển Plivo

Thay thế phần giữ chỗ số điện thoại bằng số điện thoại thực tế trong E. 164 [ví dụ: +12025551234]. Chọn số điện thoại di động của riêng bạn làm điểm đến để bạn có thể xem mã hoạt động. Sau đó lưu tập tin

import plivo
client = plivo.RestClient['','']
response = client.messages.create[
	src='',
	dst='',
	text='Hello, world!',]
print[response]

Kiểm tra ứng dụng của bạn

Bây giờ hãy chạy chương trình

$ python send_sms.py

Bạn sẽ nhận được thông báo “Xin chào, thế giới. ” tin nhắn trên điện thoại của bạn

Tất nhiên ví dụ này đơn giản như chúng đến

Bạn có thể tưởng tượng các tình huống phức tạp hơn — chẳng hạn như tra cứu số điện thoại của khách hàng và gửi cho họ lời nhắc cuộc hẹn hoặc gửi cho ai đó mã bảo mật mà họ có thể sử dụng để xác thực hai yếu tố

Dù bạn sử dụng nó như thế nào, việc tích hợp SMS với các ứng dụng Python của bạn đơn giản hơn bạn có thể tưởng tượng. Tin nhắn văn bản mở ra tất cả các loại cơ hội cho doanh nghiệp. Không có thời điểm nào như hiện tại để sử dụng SMS để tạo lợi thế cạnh tranh cho doanh nghiệp của bạn

Làm cách nào để gửi tin nhắn văn bản SMS bằng Python?

Gửi tin nhắn SMS bằng Python qua API REST. Để gửi một tin nhắn SMS đi từ tài khoản Twilio của bạn, bạn cần phải tạo HTTP POST cho tài nguyên Tin nhắn của Twilio . Thư viện Python của Twilio giúp bạn tạo một phiên bản mới của tài nguyên Thư, chỉ định các tham số Đến, Từ và Nội dung của thư của bạn.

Làm cách nào tôi có thể gửi SMS từ điện thoại di động bằng Python?

Hoặc làm theo các bước để gửi SMS. .
Nhập ứng dụng khách twilio từ twilio. .
Nhận và lưu trữ account_sid và auth_token từ tài khoản Twilio của bạn
Tạo phiên bản của Máy khách bằng cách chuyển account_sid và auth_token
Bây giờ, lấy số from từ tài khoản Twilio của bạn
Bây giờ, hãy gửi tin nhắn bằng ứng dụng khách

Bạn có thể sử dụng Python để gửi tin nhắn không?

Python đi kèm với mô-đun smtplib tích hợp để gửi email bằng Giao thức truyền thư đơn giản [SMTP] . smtplib sử dụng giao thức RFC 821 cho SMTP. Các ví dụ trong hướng dẫn này sẽ sử dụng máy chủ SMTP của Gmail để gửi email, nhưng các nguyên tắc tương tự cũng áp dụng cho các dịch vụ email khác.

Chủ Đề