Как добавить функциональность текстовых сообщений SMS на мой сайт?

Я хочу добавить возможность отправлять напоминания людям по электронной почте и SMS для определенных событий, которые они зарегистрировали для веб-приложения, которое я создаю. Часть электронной почты не сложна, но мне интересно, где найти хорошее решение для отправки SMS-сообщений.

Было бы также плюсом, если бы это решение разрешило двустороннюю SMS-связь с моим веб-приложением, чтобы люди могли ответить с типом сообщения CONFIRM или CANCEL.

Кто-нибудь реализовал что-то подобное? Кто-нибудь знает хорошие инструменты там?

РЕДАКТИРОВАТЬ: Я понимаю, что это больше похоже на вопрос «много способов скрыть эту кошку», и поэтому я изменил его на вики сообщества.

55 голосов | спросил 3 revs
jessegavin
1 Jam1000000amThu, 01 Jan 1970 03:00:00 +030070 1970, 03:00:00

11 ответов


23

Мне пришлось несколько раз отредактировать этот ответ, поскольку службы, которые я изначально рекомендовал, вышли из бизнеса. Я считаю, что новый лидер отрасли Twilio , у них отличный API и разумные цены. Некоторые альтернативы, заслуживающие рассмотрения, Tropo , Plivo и Nexmo .

Я использовал IMified , чтобы делайте что-то похожее, и я нашел, что он хорошо работает. Он позволяет получать SMS (или сообщения Twitter и IM) в виде HTTP-сообщений, а ответ вашего веб-сервера отправляется как ответ. Они также предлагают веб-сервис, который можно использовать для инициировать разговор и отправлять сообщения . дел>

Пока я искал другие варианты, я наткнулся на Zeep Mobile (Примечание: Zeep Mobile больше не будет работать по состоянию на 8/1/2013), у которого есть API для отправки и получения SMS. Он предоставляется либо бесплатно, либо рекламируется или доступен для бесплатной оплаты. Я не пробовал, но выглядит довольно интересно.

Вы также можете использовать SMS-шлюз, например Clickattell .

Удачи!

EDIT: Я нашел вопрос о StackOverflow, у которого есть много других предложений, некоторые из них могут быть устаревшими.

ответил Goyllo 13 MarpmSun, 13 Mar 2016 15:14:54 +03002016-03-13T15:14:54+03:0003 2016, 15:14:54
15

У меня был друг, которому удалось реализовать это по электронной почте. Я считаю, что он сделал это точно так же этот сайт рекомендует :

  

T-Mobile: номер телефона @ tmomail.net
  Virgin Mobile: phonenumber @ vmobl.com
  Cingular: phonenumber @ cingularme.com
  AT & T: [email protected]
  Sprint: phonenumber @ messaging.sprintpcs.com
  Verizon: номер телефона @ vtext.com
  Nextel: phonenumber @ messaging.nextel.com

     

где номер телефона = ваш 10-значный номер телефона

ответил Mike 9 J000000Friday10 2010, 20:07:41
9

Я использовал Twilio для голос , и я был очень впечатлен. Я уверен, что их система SMS не сильно отличается. Это позволит вам отправить на любой перевозчик, не зная адрес электронной почты для отправки (как я заметил, они меняются со временем).

ответил Darryl Hein 9 J000000Friday10 2010, 20:11:44
5

Это только для отправки, но я использовал Penny SMS для проекта и имел удачу с ним. Если вы используете Ruby, посмотрите драгоценный камень penny_sms_muncher .

ответил Matthew Shanley 9 J000000Friday10 2010, 19:55:44
4

Другие два варианта, которые я рассматривал в прошлом:

Skype API
Отправляйте и получайте SMS с помощью нового API Skype. Я думаю, Twilio дешевле, но Skype доступен в большем количестве стран (если вы хотите получать SMS-сообщения)

Подключите телефон к вашему серверу
Если вы живете в стране (например, в Аргентине), где платят SMS-шлюзы, вам может быть дешевле купить телефон и подключить его к вашему серверу (в зависимости от среды вашего хостинга, конечно). Затем вы можете использовать программное обеспечение, например SMSToolkit для взаимодействия с телефоном.

ответил Matthew Shanley 9 J000000Friday10 2010, 19:55:44
3

Я бы рекомендовал посмотреть на двухсторонний api, предоставленный http://www.world-text.com/.

ответил Matthew Shanley 9 J000000Friday10 2010, 19:55:44
2

Я написал такую ​​систему SMS с двумя способами, используя Vidicom UK в качестве поставщика SMS (не уверен, что они все еще идут). В основном у них есть API на основе HTTP, где вы можете отправлять и получать SMS-сообщения. Сложно объяснить это подробно, но по существу у меня было две таблицы базы данных: одна для входящих сообщений, полученных от шлюза, и другая для исходящих сообщений, которые поставлены в очередь, а затем отправляются на шлюз.

Мне в основном приходилось разбирать входящие сообщения, чтобы увидеть, содержат ли они такие ключевые слова, как CANCEL или STOP, и затем обрабатывать сообщение соответствующим образом. К сожалению, вы получаете много сообщений об мусоре - вы будете удивлены, сколько людей отправляют SMS-сообщения на неправильный номер, поэтому вам нужно ответить, сказав «Сообщение не понято» и т. Д.

ответил Matthew Shanley 9 J000000Friday10 2010, 19:55:44
2

Если вам нужен доступный поставщик массовых SMS-сообщений, с API-интерфейсом разработчика вы можете использовать www.SourceSMS.com - они предлагают международный охват, и у них есть сценарии, которые вы можете просто загрузить и интегрировать на свой веб-сайт.

ответил Matthew Shanley 9 J000000Friday10 2010, 19:55:44
1

Другой вариант - использовать почтовую функцию PHP и список почтовых серверов оператора, например:

Сделайте HTML-форму в файле 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>

Затем укажите, куда будет отправляться почта:

if ($carrier == "1") {
    $email = "[email protected]";
} elseif ($carrier == "2") {
    $email = "[email protected]";
} elseif ($carrier == "3") {
    $email = "[email protected]";
} elseif ($carrier == "4") {
    $email = "[email protected]";
} elseif ($carrier == "5") {
    $email = "[email protected]";
} elseif ($carrier == "6") {
    $email = "[email protected]";
} elseif ($carrier == "7") {
    $email = "[email protected]";
} elseif ($carrier == "8") {
    $email = "[email protected]";
} elseif ($carrier == "9") {
    $email = "[email protected]";
}

Отправлять почту: ($ email, $ subject, $ msg, $ mailfrom необходимо будет определить и в надлежащем формате, рекомендуется также дезинфицировать входы)

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.";
}

Убедитесь, что у PHP есть допустимые настройки почты в php.ini. Если у вас есть вопросы, просто спросите.

ответил Matthew Shanley 9 J000000Friday10 2010, 19:55:44
0

Я не уверен, что вы сможете делать что-либо с ответами, есть некоторые API, которые были созданы для реализации текстовых функций с помощью Google Voice.

http://code.google.com/p/pygooglevoice/

http://code.google.com/p/google-voice-java /

ответил Matthew Shanley 9 J000000Friday10 2010, 19:55:44
0

Есть много производителей и поставщиков услуг. Я знаю Ozeki SMS Gateway. Следующие URL-адреса могут помочь вам, если вы хотите встроенное решение с собственным модемом gsm или SMPP /UCP /CMD или другим провайдером. Когда вы сделаете расследование первым вопросом: сколько SMS вы хотите отправить или получить?

HTTP SMS API с примерами .

SMS API для разработчиков ASP и ASP.NET и примеры для разработчиков PHP о том, как настроить страницы функциональных возможностей SMS, может дать вам полезную информацию.

ответил Matthew Shanley 9 J000000Friday10 2010, 19:55:44

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132