Как отправить текстовое сообщение на мобильный телефон из веб-приложения Lucee? - PullRequest
3 голосов
/ 04 июня 2019

Я бы хотел, чтобы мое приложение отправляло пользователям текстовые сообщения по определенным триггерам, предпочтительно используя что-то вроде тега cfmail.Раньше мне никогда не приходилось отправлять текстовые сообщения из веб-приложения, но учитывая огромное количество мобильных устройств сегодня, я предполагал, что это будет встроено в CF / Lucee, если мне это когда-нибудь понадобится.Однако теперь, когда я это делаю, я не вижу ничего в документах или первых нескольких страницах Google.

Можно ли отправлять текстовые сообщения непосредственно из Люси?Я знаю, что мог бы использовать cfmail для отправки сообщений на шлюз перевозчика (т. Е. Xxxxxxxxxx@tmomail.net), но для этого необходимо, чтобы я знал и поддерживал список схем адресов каждого перевозчика и знал, с каким перевозчиком является получатель, с которым яне может.Возможно ли то, что я хочу сделать только со сторонним сервисом?

Ответы [ 3 ]

6 голосов
/ 04 июня 2019

Я не знаю ни одного способа сделать это изначально в ColdFusion, но я использовал Twilio для отправки SMS-сообщений из ColdFusion с помощью API Twilio: https://www.twilio.com/sms

Они предлагают бесплатные аккаунты для разработчиков, так чтоВы можете попробовать, прежде чем купить.

4 голосов
/ 05 июня 2019

Twilio (https://www.twilio.com/try-twilio) позволяет легко отправлять текстовые сообщения. Все, что вам нужно сделать, это сделать запрос HTTP POST.

Когда вы успешно отправляете сообщение, Twilio отвечает данными о процессе, включая SID сообщения (идентификатор системы).

Вот код, который вы можете поместить на странице .cfm и запустить, чтобы отправить сообщение. Замените три PLACEHOLDERS вашими значениями Twilio.

Вы найдете свои учетные данные Twilio ACCOUNT_SID и AUTH_TOKEN на своей «панели инструментов» после регистрации / входа в Twilio.

YOUR_TWILIO_PHONE_NUMBER должен начинаться с +.

<ч />

<cffunction name="sendMessageWithTwilio" output="false" access="public" returnType="string">
    <cfargument name="aMessage" type="string" required="true" />
    <cfargument name="destinationNumber" type="string" required="true" />

    <cfset var twilioAccountSid = "YOUR_ACCOUNT_SID" />
    <cfset var twilioAuthToken = "YOUR_AUTH_TOKEN" />
    <cfset var twilioPhoneNumber = "YOUR_TWILIO_PHONE_NUMBER" />

    <cfhttp 
        result="result" 
        method="POST" 
        charset="utf-8" 
        url="https://api.twilio.com/2010-04-01/Accounts/#twilioAccountSid#/Messages.json"
        username="#twilioAccountSid#"
        password="#twilioAuthToken#" >

        <cfhttpparam name="From" type="formfield" value="#twilioPhoneNumber#" />
        <cfhttpparam name="Body" type="formfield" value="#arguments.aMessage#" />
        <cfhttpparam name="To" type="formfield" value="#arguments.destinationNumber#" />

    </cfhttp>

    <cfif result.Statuscode IS "201 CREATED">
        <cfreturn deserializeJSON(result.Filecontent.toString()).sid />
    <cfelse>
        <cfreturn result.Statuscode />
    </cfif>

</cffunction>

<cfdump var='#sendMessageWithTwilio(
    "This is a test message.",
    "+17775553333"
)#' />

<ч />
4 голосов
/ 04 июня 2019

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

Мы сохраняем таблицу БД, заполненную всеми текущими носителями и их доменами электронной почты. Пользователь может обновить свой профиль, указав свой сотовый номер, и ему необходимо выбрать оператора мобильной связи, прежде чем он получит возможность получать текстовые сообщения.

С сайта AT & T:

Текстовое сообщение - введите новое электронное письмо и введите 10-значный беспроводной номер получателя, а затем @ txt.att.net. Например, 5551234567@txt.att.net.

Изображение или видео-сообщение - Составьте новое электронное письмо и введите 10-значный беспроводной номер получателя, а затем @ mms.att.net. Например, 5551234567@mms.att.net.

Вы просто используете <cfmail> для отправки текстовых сообщений, как если бы они были обычными электронными письмами.

...