Как добавить функциональность текстовых сообщений SMS на мой сайт?
Я хочу добавить возможность отправлять напоминания людям по электронной почте и SMS для определенных событий, которые они зарегистрировали для веб-приложения, которое я создаю. Часть электронной почты не сложна, но мне интересно, где найти хорошее решение для отправки SMS-сообщений.
Было бы также плюсом, если бы это решение разрешило двустороннюю SMS-связь с моим веб-приложением, чтобы люди могли ответить с типом сообщения CONFIRM или CANCEL.
Кто-нибудь реализовал что-то подобное? Кто-нибудь знает хорошие инструменты там?
РЕДАКТИРОВАТЬ: Я понимаю, что это больше похоже на вопрос «много способов скрыть эту кошку», и поэтому я изменил его на вики сообщества.
11 ответов
Мне пришлось несколько раз отредактировать этот ответ, поскольку службы, которые я изначально рекомендовал, вышли из бизнеса. Я считаю, что новый лидер отрасли Twilio , у них отличный API и разумные цены. Некоторые альтернативы, заслуживающие рассмотрения, Tropo , Plivo и Nexmo .
Я использовал IMified , чтобы делайте что-то похожее, и я нашел, что он хорошо работает. Он позволяет получать SMS (или сообщения Twitter и IM) в виде HTTP-сообщений, а ответ вашего веб-сервера отправляется как ответ. Они также предлагают веб-сервис, который можно использовать для инициировать разговор и отправлять сообщения . дел>
Пока я искал другие варианты, я наткнулся на Zeep Mobile
(Примечание: Zeep Mobile больше не будет работать по состоянию на 8/1/2013), у которого есть API для отправки и получения SMS. Он предоставляется либо бесплатно, либо рекламируется или доступен для бесплатной оплаты. Я не пробовал, но выглядит довольно интересно.
Вы также можете использовать SMS-шлюз, например Clickattell .
Удачи!
У меня был друг, которому удалось реализовать это по электронной почте. Я считаю, что он сделал это точно так же этот сайт рекомендует :
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-значный номер телефона
Я использовал Twilio для голос , и я был очень впечатлен. Я уверен, что их система SMS не сильно отличается. Это позволит вам отправить на любой перевозчик, не зная адрес электронной почты для отправки (как я заметил, они меняются со временем).
Это только для отправки, но я использовал Penny SMS для проекта и имел удачу с ним. Если вы используете Ruby, посмотрите драгоценный камень penny_sms_muncher .
Другие два варианта, которые я рассматривал в прошлом:
Skype API
Отправляйте и получайте SMS с помощью нового API Skype.
Я думаю, Twilio дешевле, но Skype доступен в большем количестве стран (если вы хотите получать SMS-сообщения)
Подключите телефон к вашему серверу
Если вы живете в стране (например, в Аргентине), где платят SMS-шлюзы, вам может быть дешевле купить телефон и подключить его к вашему серверу (в зависимости от среды вашего хостинга, конечно). Затем вы можете использовать программное обеспечение, например SMSToolkit для взаимодействия с телефоном.
Я бы рекомендовал посмотреть на двухсторонний api, предоставленный http://www.world-text.com/.
Я написал такую систему SMS с двумя способами, используя Vidicom UK в качестве поставщика SMS (не уверен, что они все еще идут). В основном у них есть API на основе HTTP, где вы можете отправлять и получать SMS-сообщения. Сложно объяснить это подробно, но по существу у меня было две таблицы базы данных: одна для входящих сообщений, полученных от шлюза, и другая для исходящих сообщений, которые поставлены в очередь, а затем отправляются на шлюз.
Мне в основном приходилось разбирать входящие сообщения, чтобы увидеть, содержат ли они такие ключевые слова, как CANCEL или STOP, и затем обрабатывать сообщение соответствующим образом. К сожалению, вы получаете много сообщений об мусоре - вы будете удивлены, сколько людей отправляют SMS-сообщения на неправильный номер, поэтому вам нужно ответить, сказав «Сообщение не понято» и т. Д.
Если вам нужен доступный поставщик массовых SMS-сообщений, с API-интерфейсом разработчика вы можете использовать www.SourceSMS.com - они предлагают международный охват, и у них есть сценарии, которые вы можете просто загрузить и интегрировать на свой веб-сайт.
Другой вариант - использовать почтовую функцию 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. Если у вас есть вопросы, просто спросите.
Я не уверен, что вы сможете делать что-либо с ответами, есть некоторые API, которые были созданы для реализации текстовых функций с помощью Google Voice.
Есть много производителей и поставщиков услуг. Я знаю Ozeki SMS Gateway. Следующие URL-адреса могут помочь вам, если вы хотите встроенное решение с собственным модемом gsm или SMPP /UCP /CMD или другим провайдером. Когда вы сделаете расследование первым вопросом: сколько SMS вы хотите отправить или получить?
HTTP SMS API с примерами .
SMS API для разработчиков ASP и ASP.NET и примеры для разработчиков PHP о том, как настроить страницы функциональных возможностей SMS, может дать вам полезную информацию.