Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Отправка текста на почту (http://www.flasher.ru/forum/showthread.php?t=194494)

Mompochi 15.02.2013 16:20

Отправка текста на почту
 
Добрый день (или что там у Вас)! Может ли кто подсказать, как же все-таки осуществляется отправка введенного текста на определенную почту при нажатии на кнопку? А то совсем уж непонятно (Flash Builder). Можете скинуть пример, если не жалко)

zuxul 15.02.2013 18:52

А что Вам конкретно непонятно?

caseyryan 15.02.2013 19:00

Из приложения работающего во флеш плеере, нельзя отправить почту. Для этого нужен сервер.

Chum 15.02.2013 19:24

Из swf-файла можно передать каки-либо данные в php-скрипт из которого можно уже отсылать сообщения вызвав php-функцию mail(). Если хотите посмотреть как это в принципе можно реализовать, плиз:
http://kersha.ru/index.php?option=co...la25&Itemid=74
Там есть исходники на AS3.

wvxvw 15.02.2013 21:59

На самом деле... отправка почты - тайна покрытая мраком за семью печатями, и все совем не так просто (как кажется в ПХП). Электронная почта - это в неимоверной степени несуразный и очень плохо работающий механизм, который очень тяжело настроить и контроллировать. ПХП не сам отправляет почту, а, скорее всего, пользуется программой sendmail (которая будет сама побольше ПХП интерпретатора). Далее, замечательная программа sendmail - это хитросплетение из большого количества меньших несуразных програм, большая часть которых заслуживает место в музее развития компьютерной техники. Но в общем, смысл заключается в том, чтобы посредничать между почтовыми серверами. Посредничество заключается в том, чтобы понять из заголовков сообщения на какой из серверов (и сколько копий) отправлять, как обработать содержание, и еще менее интересные детали.
Почтовых серверов есть несколько типов, использующих разные протоколы, такие, как например, POP, или IMAP. Эти сервера в чем-то похожи на HTTP сервера, с той разницей, что они еще более древние, и еще более запутанные. НО, что очень важно в нашем случае - они вполне себе доступны флешевому клиенту! Ну, не всегда, но часто. Некоторые почтовые сервера, примерно так же, как и HTTP сервера могут использовать SSL шифрование для траффика (и тогда вам прийдется самому разбираться с шифрованием). Кроме того, сервера эти, как правило, работают на портах, куда флешу просто так не приконнектится. Но, и тем не менее, технически проблема отсылки почты из флеша решаема. Тому даже есть примеры: http://www.bytearray.org/?p=27 он даже вроде аттачменты может посылать.

Mompochi 16.02.2013 12:04

Ну, как бы нужно, чтобы введенный текст после нажатия на кнопку отправлялся на почту, или куда нибудь) ну чтобы хоть куда то отправлялся! Мне бы код реализации этого волшебства узнать) А GetUrl не поможет в данном случае? Или еще какая магия?

Chum 16.02.2013 12:41

Во флешке есть кнопка knop и текстовые поля email, temamail, pismotext, данные которых необходимо передать в PHP-файл doc.php:
Код AS3:

/* Функция отправки данных e-mail в php-скрипт */
knop.addEventListener(MouseEvent.MOUSE_UP, funcEmail);
function funcEmail(sob:Event):void{
    var request:URLRequest = new URLRequest("doc.php");
    var variables:URLVariables = new URLVariables();
    variables.adresemail  = email.text;
    variables.temaemail  = tematext.text;
    variables.pismoemail  = pismotext.text;
    request.data = variables;
    request.method = URLRequestMethod.POST;
    navigateToURL(request, "_self");
}

а уже в PHP скрипте отлавливайте $_POST['email'], $_POST['temaemail'], $_POST['pismotext'] и средствами PHP, функция mail() отсылайте сообщение.

Добавлено через 2 минуты
Поправлюсь в PHP надо отлавливать $_POST['adresemail'] а не $_POST['email']

Добавлено через 4 минуты
и не $_POST['pismotext'] а $_POST['pismoemail'], извините

Добавлено через 9 минут
Блин писал второпях и опять нашёл ошибку - текстовое поле tematext а не temamail

Добавлено через 16 минут
В общем окончательно:
Во флешке есть кнопка knop и текстовые поля email, tematext, pismotext, данные которых необходимо передать в PHP-файл doc.php:

Далее код - в коде ошибок нет

а уже в PHP скрипте отлавливайте $_POST['adresemail'], $_POST['temaemail'], $_POST['pismoemail'] и средствами PHP, функция mail() отсылайте сообщение.

Mompochi 16.02.2013 13:22

Уэ( Совсем не понятно, я в пхп чайник т_т
Все равно, благодарю за советы

Добавлено через 52 секунды
Надеюсь это вы про Флеш Билдер говорите? Оо

Chum 16.02.2013 19:06

Я говорю это о ActionScript 3.
Создате файл doc.php, вставьте в него SWF-файл (google.com). В этом swf-файле должны быть три текстовых поля: email, tematext, pismotext сообщения из них будут передаваться на адрес электронной почты который указывается в поле email в полях tematext и pismotext указываются тема письма и текст письма, кроме того в этом swf должна быть кнопка knop кликнув по которой отправляется сообщение. Далее скопируйте код AS3 и вставьте его в файл. Во Flash это fla файл в Билдере не знаю.
В самом начале файла doc.php разместите следующий код:
PHP код:

<?php
    
if(isset($_POST['adresemail'])){
        
mail($_POST['adresemail'], $_POST['temaemail'], $_POST['pismoemail']);
    }
?>

Выложите файл на сервер, например localhost, в браузере откройте его и должно работать, по идее.

iflamberg 16.02.2013 19:07

В локалхосте работать не будет, если sendmail не настроен.


Часовой пояс GMT +4, время: 08:09.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.