Я использую flash CS6 и flash player 11.4
Вот пример отправки письма от вспышка с помощью PHP
код as3:
var php_file = "simple_email.php";
var message_text = "Hello Im mesage from flash.";
function sendEmail():void
{
var myData:URLVariables = new URLVariables();
myData.msg = message_text;
var myRequest:URLRequest = new URLRequest(php_file);
myRequest.data = myData;
myRequest.method = URLRequestMethod.POST;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, completeHandler);
try {
loader.load(myRequest);
} catch (error:Error) {
trace("Unable to load URL");
}
function completeHandler(e:Event):void {
trace("Data Content:"+e.target.data)
trace("Response:"+e.target.data.success);
};
};
sendEmail();
PHP-код:
<?php
$msg = $_POST["msg"];
$to = "webhosting4@outlook.com";
$subject="Message from php";
$success = mail($to,$subject,$msg,"Content-Type: text/plain; charset=utf-8");
echo "temp=1&success=".$success;
?>
все выглядит просто, но не работает
1) Отклик: должен быть истинным или ложным и является:.»$ Успех;
?> (плохой разбор?)
2) e.target.data выглядит странно:
Data Content:success=%22%20%24success%3B%0D%0A%3F%3E&%3C%3Fphp%0D%0A%09%24msg%20=%20var%5Fexport%28%24%5FPOST%2C%20true%29%3B%0D%0A%09%24to%20%3D%20%22baca%2Erene%40gmail%2Ecom%22%3B%0D%0A%09%24subject%3D%22Message%20from%20php%22%3B%0D%0A%09%24success%20%3D%20mail%28%24to%2C%24subject%2C%24msg%2C%22Content%2DType%3A%20text%2Fplain%3B%20charset%3Dutf%2D8%22%29%3B%0D%0A%09echo%20%22temp%3D1
3) После выполнения кода я не получил ни одного письма …. что-то должно быть не так?
С целью:
В PHP логические выражения не выводят «true» или «false», как это происходит в actioncript-3s trace (). Вам нужно использовать некоторую форму оператора if в PHP, чтобы отобразить соответствующую строку, а не напрямую отображать переменную.
e.target.data
возвращает строковую версию UTF с escape-кодом вашего PHP-кода, обычно это признак того, что php не выполняется, а файл просто читается как строка, вы должны убедиться, что ваш сервер настроен правильно и проверить журнал ошибок PHP (и изменить свой Конфигурация PHP для записи всех ошибок в журнал)
Да, что-то не так, проверьте ваши PHP-конфиги и журналы ошибок, вполне вероятно, и ошибку конфигурации SMTP.
Вы также можете использовать error_get_last();
в php вытащить последнюю ошибку, сгенерированную php.
Других решений пока нет …