W ostatnim projekcie zostałem poproszony o zaproponowanie rozwiązania wysyłania wiadomości tekstowych jako funkcji premium na stronie członkostwa klienta. Nie było to coś, co kiedykolwiek robiłem wcześniej, ale pomyślałem, że skompiluję wszystkie zebrane informacje w jednym prostym tutorialu dla tych, którzy chcą zrobić to samo
Darmowa opcja - e-mail
Jeśli jeszcze tego nie wiesz, wiadomości tekstowe można w rzeczywistości wysyłać pocztą e-mail do większości operatorów komórkowych. Na przykład jestem klientem AT&T. Aby wysłać sobie wiadomość tekstową bez telefonu, mogę otworzyć Gmaila i wysłać wiadomość e-mail na adres: Otrzymałbym wiadomość tekstową tak jak każdą inną wiadomość.
Zastosowanie tego do PHP jest dość łatwe pod względem faktycznego kodu. Funkcja poczty całkiem dobrze sobie z tym poradzi. Jeśli masz pod ręką swój numer i znasz operatora, z którego korzysta ten numer, możesz tutaj znaleźć operatora sieci komórkowej. Wysłanie wiadomości do siebie było tak proste, jak:
$ number = „999-999-9999”; $ carrier = "@ txt.att.net"; $ message = "To jest tekst"; $ sent = mail („$ operator”, „Test”, $ wiadomość); echo $ wysłane? „Mail wysłany”: „Mail NOT NOT”; // mail (adres e-mail, temat, treść); // temat nie jest wymagany i w razie potrzeby można go pozostawić pusty
Może to jednak stworzyć dylematy. Wymaga to znajomości numeru ORAZ operatora telefonu komórkowego. Dzięki przenośności numerów operator telefonu komórkowego może się zmienić i dopóki użytkownik nie powiadomi Cię o tych informacjach, nie będziesz w stanie wiedzieć, że zmienił się jego operator. Ta opcja po prostu nie była dla nas wykonalna, ponieważ potrzebowaliśmy, aby działała bezbłędnie bez względu na to, czy zmienili przewoźników, czy cokolwiek innego mogło być. Gdybyśmy mieli numer, to wszystkie informacje, których powinniśmy potrzebować. Proszenie użytkownika o zachowanie większej ilości informacji niż to było aktualne, wymagało zbyt wiele.
Widziałem, że jest to przydatny sposób wysyłania wiadomości tekstowych, gdybym chciał zbudować dla siebie jakąś usługę powiadomień. tzn. jeśli jeden z moich codziennych skryptów cron zawiedzie, coś w tym stylu. To nie jest skalowalne niezawodne rozwiązanie dla jakiegokolwiek rodzaju rozwiązania większego niż kilku użytkowników.
Opcja płatna - bramki SMS
Istnieje wiele bramek SMS z różnymi punktami cenowymi i interfejsami API. Bramy SMS nie są darmowe, ale zapewniają bardziej bezpieczny i zaufany sposób wykonania zadania. Pamiętam, jak rok temu przeprowadziłem badania na ten temat i nazwa Twilio utknęła. Są tymi, z których skończyłem, a poniżej znajduje się szybki i łatwy samouczek. Kosztują 1 cent za wiadomość tekstową, nie najtańszą, ale bardzo rozsądną w stosunku do tego, co próbowaliśmy osiągnąć.
Jak wysłać wiadomość tekstową za pomocą Twilio
Najpierw potrzebujesz konta z nimi, więc idź się zarejestrować. Otrzymasz identyfikator użytkownika i token uwierzytelniający, które możesz podłączyć do odpowiednich zmiennych poniżej. Następnie pobierz oficjalną bibliotekę Twilio PHP stąd.
// obejmują oficjalną bibliotekę Twilio PHP, w tym „Services / Twilio.php”; $ accountid = "#######"; $ token = "#######"; // zadeklaruj nowe wystąpienie klasy usług twilio $ client = new Services_Twilio ($ AccountSid, $ AuthToken); $ mynumber = "##########"; $ to = "##########"; $ body = "to wiadomość tekstowa"; $ client-> account-> sms_messages-> create ($ from, $ to, $ body); // voila! Wiadomość wysłana
Dla dowolnej skali polecam użycie bramki takiej jak Twilio. Nie musisz się martwić o śledzenie przewoźnika, a z mojego doświadczenia wynika, że są wyjątkowo niezawodni. Wszelkie opinie lub sugestie, daj mi znać w komentarzach poniżej.