Как отправить электронное письмо из приложения AIR Desktop?

Я пытаюсь разрешить пользователю отправлять электронную почту из приложения AIR Desktop.
Сначала я попробовал:

navigateToURL(newURLRequest("mailto:someone@example.comSubject=Hello&Body=SomeText");

Но это открывает пустую вкладку в интернет-браузере по умолчанию.

Затем я попытался использовать php-файл и загрузил его на сервер. PHP-код:

<?php
$to = ($_POST['recipientEmail']);
$subject = ($_POST['SenderName']);
$message = ($_POST['senderMesssage']);
$headers = "From: " . $_POST['senderName'] . " <" . $_POST['senderEmail'] .     ">\n";
if(@mail($to, $subject, $message, $headers))
{
echo "answer=ok";
}
else
{
echo "answer=error";
}
?>

и загрузил его по следующему адресу:
http://xespoofer.comxa.com/mail.php

ActionScript сторона:

var myVars:URLVariables = new URLVariables();
myVars.senderName = settings.companyName;
myVars.senderEmail =String(settings.settingsXML.Setting.@senderEmail);;
myVars.senderMesssage = String(settings.settingsXML.Setting.@Message);
myVars.recipientEmail = String(settings.settingsXML.Setting.@email);

var myURL:URLRequest = new URLRequest("http://xespoofer.comxa.com/mail.php");
myURL.method = URLRequestMethod.POST;
myURL.data = myVars;

var myLoader:URLLoader = new URLLoader();
myLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
myLoader.load(myURL);

Код ActionScript запускается при нажатии кнопки. Проблема в том, что ничего не происходит. Письмо не отправлено. Любая помощь с благодарностью.

0

Решение

Я предлагаю вам добавить несколько слушателей, чтобы обнаружить, что происходит.
Я только что попробовал (используя жестко закодированные строки, вы должны заменить, чтобы использовать ваши правильные данные):

var myVars:URLVariables = new URLVariables();
myVars.senderName = "name";
myVars.senderEmail =String("email@email.com");;
myVars.senderMesssage = String("Message");
myVars.recipientEmail = String("email2@email.com");

var myURL:URLRequest = new URLRequest("http://xespoofer.comxa.com/mail.php");
myURL.method = URLRequestMethod.POST;
myURL.data = myVars;

var myLoader:URLLoader = new URLLoader();
myLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
myLoader.addEventListener(Event.COMPLETE, completeHandler);
myLoader.addEventListener(ProgressEvent.PROGRESS, progressHandler);
myLoader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
myLoader.load(myURL);

function completeHandler(event:Event):void
{
trace("completeHandler: ", URLLoader(event.target).data.toString());
}

function progressHandler(event:ProgressEvent):void
{
trace("progressHandler");
}

function ioErrorHandler(event:IOErrorEvent):void
{
trace("ioErrorHandler");
}

И completeHandler Метод вывода:answer=okMsgstr «Отладка с использованием ваших реальных данных и проверка правильности передачи значений senderName, senderEmail, senderMessage а также recipientEmail,

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector