Làm cách nào để thêm chức năng nhắn tin SMS vào trang web của tôi?


57

Tôi muốn thêm khả năng gửi lời nhắc đến mọi người qua email và SMS cho các sự kiện cụ thể mà họ đã đăng ký trên một ứng dụng web mà tôi đang xây dựng. Phần email không khó, nhưng tôi tự hỏi nơi để tìm một giải pháp tốt để gửi tin nhắn SMS.

Nó cũng sẽ là một điểm cộng nếu giải pháp này cho phép liên lạc SMS hai chiều với ứng dụng web của tôi để mọi người có thể trả lời bằng loại CONFIRM hoặc CANCEL của tin nhắn.

Có ai thực hiện một cái gì đó như thế này? Có ai biết các công cụ tốt ngoài đó?

EDIT: Tôi nhận ra rằng đây là một câu hỏi kiểu "rất nhiều cách để nuôi con mèo này" và vì vậy tôi đã thay đổi nó thành wiki cộng đồng.


+1, tôi biết hàng tá nhà cung cấp API SMS một chiều, nhưng không có nhà cung cấp nào gửi lại nếu nhận được phản hồi.
Tim Post

Tôi đã thêm một tiền thưởng cho câu hỏi này với hy vọng cải thiện câu trả lời cho câu hỏi này.
artlung

jessegavin, nếu bạn cảm thấy muốn chọn một câu trả lời hay nhất, hãy thoải mái - tiền thưởng kết thúc vào ngày mai!
artlung

Câu trả lời:


25

Tôi đã phải chỉnh sửa câu trả lời này một vài lần vì các dịch vụ tôi đề nghị ban đầu đã ngừng hoạt động. Tôi tin rằng người dẫn đầu ngành mới là Twilio , họ có API tuyệt vời và giá cả hợp lý. Một số lựa chọn thay thế đáng giá là Tropo , Plivo , và Nexmo .

Tôi đã sử dụng IMified trong một thời gian ngắn để làm những thứ tương tự như vậy và tôi thấy nó hoạt động tốt. Nó cho phép bạn nhận tin nhắn SMS (hoặc tin nhắn Twitter và IM) dưới dạng HTTP POST và phản hồi của máy chủ web của bạn được gửi dưới dạng trả lời. Họ cũng cung cấp một dịch vụ web có thể được sử dụng để bắt đầu cuộc trò chuyện và gửi tin nhắn .

Trong khi tôi đang tìm kiếm các tùy chọn khác, tôi đã tìm thấy Zeep Mobile (Lưu ý: Zeep Mobile sẽ không còn hoạt động kể từ ngày 8/1/2013) có API để gửi và nhận SMS. Nó là miễn phí và quảng cáo được hỗ trợ hoặc có sẵn cho một khoản phí montly. Tôi chưa thử, nhưng có vẻ khá thú vị.

Bạn cũng có thể sử dụng Cổng SMS như ClickATell .

May mắn nhất!

EDIT: Tôi đã tìm thấy một câu hỏi trên StackOverflow có nhiều đề xuất hơn, một số có thể bị lỗi thời.


Tôi cũng đang sử dụng CLickATell và tôi hài lòng với dịch vụ của họ.
Alex

Tôi sẽ kêu gọi dịch vụ trả tiền của Plivo, nó rất tốt. Chúng tôi đã từng sử dụng Twilio cũng nổi bật nhưng chi phí cao hơn.
Frank

15

Tôi đã có một người bạn quản lý để thực hiện điều này qua email. Tôi tin rằng anh ấy đã làm chính xác như cách mà trang web này đề xuất :

T-Mobile: phonenumber @ tmomail.net
Virgin Mobile: phonenumber @ vmobl.com
Cingular: phonenumber @ cingularme.com
AT & T: phonenumber@txt.att.net
Sprint: phonenumber @ messaging.sprintpcs.com
Verizon: phonenumber @ vtext.com
Nextel : phonenumber @ nhắn tin.nextel.com

trong đó số điện thoại = số điện thoại 10 chữ số của bạn


1
Tôi vừa thử nghiệm điều này và nhà cung cấp dịch vụ của tôi (AT & T) đã thêm TỪ: [Tên người gửi], SUBJ: [Dòng tiêu đề], MSG: [Nội dung tin nhắn] vào đầu tin nhắn văn bản. - Vậy đó là (ít nhất) 21 ký tự được sử dụng hết với phương thức này. Tôi nghĩ rằng (ít nhất là đối với tôi) điều này sẽ không được chấp nhận đối với hầu hết các ứng dụng web công khai.
jliegavin

3
@artlung en.wikipedia.org/wiki/List_of_carences_providing_SMS_trans viêm một danh sách khá toàn diện.
Yahel

7
Ý bạn là en.wikipedia.org/wiki/List_of_SMS_gateways , nhưng cảm ơn!
artlung

2
Ở đất nước tôi (Argentina), bạn phải trả SMS nhận được qua email (Khách hàng của bạn có thể không thích)
Eduardo Molteni

1
Làm thế nào để bạn xác định người vận chuyển là ai?
Adam

9

Tôi đã sử dụng Twilio cho giọng nói và tôi đã rất ấn tượng. Tôi chắc rằng hệ thống SMS của họ không khác nhiều. Điều này sẽ cho phép bạn gửi cho bất kỳ nhà mạng nào mà không cần biết địa chỉ email để gửi đến (vì tôi nhận thấy họ thay đổi theo thời gian).


Vậy bạn đang sử dụng API của họ? Bạn sử dụng nó như thế nào?
artlung

1
Tôi đang sử dụng API giọng nói của họ để thực hiện các cuộc gọi được kích hoạt thông qua các tập lệnh PHP. Tôi đang sử dụng nó để thực hiện cuộc gọi và sử dụng nó để thực hiện giọng nói thành văn bản và sau đó chấp nhận phản hồi từ người dùng.
Darryl Hein


4

Hai lựa chọn khác tôi đã xem xét trong quá khứ:

API Skype
Gửi và nhận SMS bằng API Skype mới. Tôi đoán Twilio rẻ hơn, nhưng Skype có sẵn ở nhiều quốc gia hơn (nếu bạn muốn nhận SMS)

Cắm điện thoại vào máy chủ của bạn
Nếu bạn sống ở một quốc gia (như Argentina), nơi các công ty SMS gateway tính phí rất nhiều, bạn có thể thấy rẻ hơn khi mua điện thoại và cắm nó vào máy chủ của mình (tất nhiên tùy thuộc vào môi trường lưu trữ của bạn). Sau đó, bạn có thể sử dụng một phần mềm như SMSToolkit để tương tác với điện thoại.



2

Tôi đã viết một hệ thống SMS hai cách như vậy bằng cách sử dụng Vidicom UK làm nhà cung cấp SMS (không chắc họ có còn tiếp tục không). Về cơ bản họ có API dựa trên HTTP nơi bạn có thể gửi và nhận tin nhắn SMS. Quá phức tạp để giải thích chi tiết, nhưng thực chất tôi có hai bảng cơ sở dữ liệu, một bảng cho các tin nhắn đến nhận được từ cổng và một bảng khác cho các tin nhắn gửi đi được xếp hàng và sau đó được gửi đến cổng.

Về cơ bản, sau đó tôi phải phân tích các tin nhắn đến để xem liệu chúng có chứa các từ khóa như CANCEL hoặc STOP hay không và sau đó xử lý tin nhắn tương ứng. Thật không may, bạn nhận được rất nhiều tin nhắn rác - bạn sẽ ngạc nhiên khi có nhiều người gửi tin nhắn SMS đến nhầm số - vì vậy bạn phải trả lời lại rằng "Tin nhắn không hiểu", v.v.


2

Nếu bạn muốn một nhà cung cấp SMS số lượng lớn giá cả phải chăng, với API dành cho nhà phát triển, bạn có thể sử dụng www.SourceSMS.com - họ cung cấp bảo hiểm quốc tế và họ có các tập lệnh mà bạn có thể tải xuống và tích hợp vào trang web của mình.


1

Một tùy chọn khác là sử dụng chức năng thư của PHP và danh sách các máy chủ email của người chăm sóc, như vậy:

Tạo một biểu mẫu HTML trên một tệp PHP,

<select name="carrier" style="width: 130px" >
<option selected="" value="1">Verizon Wireless</option>
<option value="2">Alltel</option>
<option value="3">Boost Mobile</option>
<option value="4">Cingular</option>
<option value="5">Nextel</option>
<option value="6">Sprint</option>
<option value="7">T-Mobile</option>
<option value="8">Virgin Mobile</option>
<option value="9">AT&T</option>
</select>

Sau đó đặt nơi thư sẽ được gửi:

if ($carrier == "1") {
    $email = "$to@vtext.com";
} elseif ($carrier == "2") {
    $email = "$to@message.alltel.com";
} elseif ($carrier == "3") {
    $email = "$to@myboostmobile.com";
} elseif ($carrier == "4") {
    $email = "$to@cingularme.com";
} elseif ($carrier == "5") {
    $email = "$to@messaging.nextel.com";
} elseif ($carrier == "6") {
    $email = "$to@messaging.sprintpcs.com";
} elseif ($carrier == "7") {
    $email = "$to@tmomail.net";
} elseif ($carrier == "8") {
    $email = "$to@vmobl.com";
} elseif ($carrier == "9") {
    $email = "$to@txt.att.net";
}

Gửi thư: ($ email, $ topic, $ dir, $ mailfrom sẽ cần được xác định và ở định dạng phù hợp, khuyên bạn cũng nên vệ sinh đầu vào)

if (mail($email, $subject, $msg, $mailfrom)) {
    echo "<h4>Your Text Was Successfully Sent.</h4>";
    echo "<br />";
    if ($backurl == "") {
        echo "<a href='javascript:history.back(1);'>Back</a>";
    } else {
        echo "<a href='" . $backurl . "'>Back</a>";
    }
    echo "</body></html>";
} else {
    echo "<h4><b>Error Sending Message</b></h4><br>Can't send txt to $to. <br> Contact the site Administrator.";
}

Đảm bảo PHP có các cài đặt thư hợp lệ trong php.ini. Nếu bạn có bất kỳ câu hỏi chỉ cần hỏi.



0

Có nhiều nhà sản xuất và cung cấp dịch vụ. Tôi biết Cổng SMS Ozeki. Các URL sau có thể giúp bạn nếu bạn muốn giải pháp đường phố với modem GSM hoặc SMPP / UCP / CMD hoặc nhà cung cấp khác. Khi bạn quyết định câu hỏi đầu tiên: bạn muốn gửi hoặc nhận bao nhiêu SMS?

API SMS HTTP với các ví dụ .

API SMS cho Nhà phát triển ASP / ASP.NET và Ví dụ cho Nhà phát triển PHP về cách thiết lập các trang chức năng SMS có thể cung cấp cho bạn thông tin hữu ích.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.