Могу ли я переслать SMS на электронную почту, используя ТОЛЬКО twiml bin?

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

Однако я хотел бы переслать SMS-сообщение на адрес электронной почты, используя ТОЛЬКО приложение twiml и никакой другой сторонний запрос / код. Я попытался сделать это с помощью функции:

<Response>
<Message to="[email protected]">{{From}}: {{Body}}</Message>
</Response>

... но это не сработало, по-видимому, потому, что в качестве "кому:" принимает только номер телефона.

Можно ли это сделать, используя только твинт?


person user227963    schedule 26.06.2017    source источник


Ответы (2)


Хорошо, вы сказали, что нет стороннего запроса / кода, но как насчет запроса в Google и вашего собственного кода?

Если у вас есть учетная запись Gmail, вы можете сделать это с помощью скриптов Google. Они размещают для вас код, и это довольно просто.

Перейдите на https://script.google.com и создайте новый проект, удалите код в окне и вставьте в дальнейшем замените адрес электронной почты тем, на который вы хотите получать электронные письма.

function doGet(e){
 var from = e.parameter.From;
 var to = e.parameter.To;
 var body = e.parameter.Body;
 var emailAddress = '[email protected]';
 var message = body;
 var subject = 'SMS from ' + from + ' to ' + to + ' received';
 MailApp.sendEmail(emailAddress, subject, message);
 var output = ContentService.createTextOutput('<Response/>');
 output.setMimeType(ContentService.MimeType.XML);
 return output;
}

В меню «Опубликовать» выберите «Развернуть как веб-приложение». Установите «Выполнить приложение как: я», затем установите «Кто имеет доступ к приложению:» для всех, даже анонимных.

Теперь нажмите «Развернуть», и Google попросит вас аутентифицировать ваш скрипт, чтобы он мог отправлять электронную почту от вашего имени (но не получать доступ к вашей входящей электронной почте). Как только вы предоставите разрешение, он предоставит вам URL-адрес вашего скрипта.

Вставьте этот URL-адрес в консоль Twilio в качестве обработчика веб-перехватчика, когда приходит сообщение, и установите метод HTTP GET.

Все, что вам нужно сделать, это отправить вам SMS по электронной почте. Измените <Response/> в строке ниже, чтобы он содержал TwiML для ответа отправителю или что-то еще, что вы хотите, чтобы Twilio делал при поступлении сообщений.

var output = ContentService.createTextOutput('<Response/>');

Очевидно, что это всего лишь базовый пример, здесь нет аутентификации / безопасности и т. Д., Поэтому любой вызов URL-адреса вашего скрипта отправит вам электронное письмо. Вы должны действительно защитить его, хотя URL-адрес, генерируемый Google, не из тех, на которые кто-то может наткнуться.

person miknik    schedule 27.06.2017
comment
Большое спасибо - это действительно сработало. Вам необходимо: Опубликовать - ›развернуть как веб-приложение, прежде чем оно заработает, и вам необходимо предоставить анонимный доступ для его запуска. - person user227963; 17.07.2018

Проповедник разработчиков Twilio здесь.

Вы не можете пересылать SMS-сообщения на адрес электронной почты, используя только TwiML Bin. Вы правы, <Message> TwiML принимает номер телефона только в атрибут to.

Это можно сделать с помощью функции Twilio и некоторого кода на Node.js. Я не делал этого раньше, поэтому мне пришлось бы потратить некоторое время на его создание, чтобы рассказать вам, как это сделать.

Вот пример того, как создать приложение, которое пересылает SMS на электронную почту с помощью PHP.

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

Сообщите мне, если это поможет.

person philnash    schedule 27.06.2017
comment
Спасибо большое. Да, я полагаю, это хорошее применение для новых функциональных возможностей ... нужно ли где-то размещать код node.js или вы можете поместить все в функцию и разместить все это в twilio? - person user227963; 27.06.2017
comment
Все может быть включено в функцию и размещено в Twilio. Вот почему мы создали функции! - person philnash; 28.06.2017
comment
Интеграция Zapier для Twilio значительно устарела. В качестве триггера он использует 5-минутный опрос, а не веб-перехватчики ... поэтому при любом использовании 2FA он не работает, так как отправка sms на электронную почту слишком задерживается. - person timk; 22.12.2018