Comunidad de diseño web y desarrollo en internet online

No funcion codigo para contacto de pagina web con flex y php

Citar            
MensajeEscrito el 24 Dic 2010 07:17 am
Setrata de un problemita de ignorancia, tengo un codigo php que con html si funciona pero al momento de trasladarlo al flex deja de enviar el correo.
La página es: construccionescpc.com
En la sección de contacto a la hora de enviar no envia nada de nada, tampoco señala error.
Mi codigo es el siguiente:
Esto en el script:

Código ActionScript :

         
private function sendMail():void{
            var _senderName:String = senderName.text;
            var _senderEmail:String = senderEmail.text;
            var _emailMessage:String = emailMessage.text;
            var _emailSubject:String = emailSubject.text;
            var evValidMail:ValidationResultEvent = mailValidator.validate();
            var evValidName:ValidationResultEvent = nameValidator.validate();
            var evValidMessage : ValidationResultEvent = mailValidator.validate();
            if (evValidMail.type == ValidationResultEvent.VALID 
               && evValidName.type == ValidationResultEvent.VALID
               && evValidMessage.type == ValidationResultEvent.VALID){
               emailService.send({senderName: _senderName, senderEmail:_senderEmail, emailSubject:_emailSubject, emailMessage: _emailMessage});
            }
            else{
               resultLabel.text="Error de envio";
               resultLabel.setStyle("styleName", "invalid");}}
         private function emailResult():void{
               Alert.show("Gracias por su correo");
               clearForm();
         }
         private function clearForm():void{
            resultLabel.text="";
            emailSubject.text="";
            emailMessage.text="";}   

En la declaración:

Código Flex :

      <mx:HTTPService id="emailService" url="php/mail.php" method="POST" resultFormat="xml" result="emailResult();" useProxy="false"/>
      <mx:EmailValidator id="mailValidator"
                     source="{senderEmail}" property="text" 
                     requiredFieldError="Enter your email" required="true" />
      <mx:StringValidator id="nameValidator"  
                     source="{senderName}" property="text" 
                     requiredFieldError="Enter your name" required="true"/>
      <mx:StringValidator id="emailValidator"  
                     source="{emailMessage}" property="text" 
                     requiredFieldError="Enter your message" required="true"/>

El panel: (no hacer caso a mailto, es parte de ota función)

Código Flex :

         <s:NavigatorContent label="Nuestro correo general" width="100%" height="100%">
            <mx:Form left="5" right="5" top="5" bottom="5">
               <mx:FormItem label="Nombre: " width="100%">
                  <s:TextInput width="100%" id="senderName"/>
               </mx:FormItem>
               <mx:FormItem label="Correo: " width="100%">
                  <s:TextInput width="100%" id="senderEmail"/>
               </mx:FormItem>
               <mx:FormItem label="Asunto: " width="100%">
                  <s:TextInput width="100%"  id="emailSubject"/>
               </mx:FormItem>
               <mx:FormItem label="Mensaje: " width="100%" height="70">
                  <s:TextArea width="100%" height="100%" id="emailMessage"/>
               </mx:FormItem>
               <mx:FormItem label="Correo a:">
                  <s:RichEditableText text="[email protected]" editable="false" click="correo('mailto:[email protected]');"/>
               </mx:FormItem>
            </mx:Form>
            <s:HGroup right="5" bottom="5">
               <s:Label id="resultLabel"/>
               <s:Button label="Enviar" click="sendMail();"/>
            </s:HGroup>

Y finalmente en php:

Código PHP :

<?php
$to = "[email protected]";
$nameto = "Contacto";
$from = $_POST['senderEmail'];
$namefrom = $_POST['senderName'];
$subject = $_POST['emailSubject]';
$message = $_POST['emailMessage'];
authSendEmail ($from, $namefrom, $to, $nameto, $subject, $message);
?>

<?php
/* * * * * * * * * * * * * * Funciones de envío de correo * * * * * * * * * * * * * */

function authSendEmail($from, $namefrom, $to, $nameto, $subject, $message)
{
//SMTP + Detalles del servidor
/* * * * Inicia configuración * * * */
$smtpServer = "mail.construccionescpc.com";
$port = "25";
$timeout = "30";
$username = "[email protected]";
$password = "**************";
$localhost = "localhost";
$newLine = "\r\n";
/* * * * Termina configuración * * * * */

//Conexión al servidor en el puerto específico
$smtpConnect = fsockopen($smtpServer, $port, $errno, $errstr, $timeout);
$smtpResponse = fgets($smtpConnect, 515);
if(empty($smtpConnect))
{
$output = "Failed to connect: $smtpResponse";
return $output;
}
else
{
$logArray['connection'] = "Connected: $smtpResponse";
}

//Solicitud de logueo
fputs($smtpConnect,"AUTH LOGIN" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authrequest'] = "$smtpResponse";

//Envío de usuario
fputs($smtpConnect, base64_encode($username) . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authusername'] = "$smtpResponse";

//Envío de password
fputs($smtpConnect, base64_encode($password) . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['authpassword'] = "$smtpResponse";

//Saludo a SMTP
fputs($smtpConnect, "HELO $localhost" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['heloresponse'] = "$smtpResponse";

//Envía correo desde
fputs($smtpConnect, "MAIL FROM: $from" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['mailfromresponse'] = "$smtpResponse";

//Envía correo a
fputs($smtpConnect, "RCPT TO: $to" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['mailtoresponse'] = "$smtpResponse";

//Cuerpo del mensaje
fputs($smtpConnect, "DATA" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['data1response'] = "$smtpResponse";

//Construyendo encabezados
$headers = "MIME-Version: 1.0" . $newLine;
$headers .= "Content-type: text/html; charset=iso-8859-1" . $newLine;
$headers .= "To: $nameto <$to>" . $newLine;
$headers .= "From: $namefrom <$from>" . $newLine;

fputs($smtpConnect, "To: $to\nFrom: $from\nSubject: $subject\n$headers\n\n$message\n.\n");
$smtpResponse = fgets($smtpConnect, 515);
$logArray['data2response'] = "$smtpResponse";

//Despedida a SMTP
fputs($smtpConnect,"QUIT" . $newLine);
$smtpResponse = fgets($smtpConnect, 515);
$logArray['quitresponse'] = "$smtpResponse";
}

//header('Location: http://construccionescpc.com/contacto/enviado.html'); exit;
?>

Este esta comentado pero es el que funciona con el html
//header('Location: http://construccionescpc.com/contacto/enviado.html'); exit;
Sin más asuntos que especificar por ahora, gracias.
PD: Montanda la página web es cuando me hace la "grosería" de no hacer nada, en mi codigo con flex si me muestra el panel dando la gracias por enviar el correo.

Por sqi

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Dic 2010 01:21 am
Si usas el Flash Player Debugger (deberías) recibes esto:

[RPC Fault faultString="HTTP request error" faultCode="Server.Error.Request" faultDetail="Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Stream Error. URL: http://construccionescpc.com/php/mail.php"]. URL: http://construccionescpc.com/php/mail.php"]
at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler()
at mx.rpc::Responder/fault()
at mx.rpc::AsyncRequest/fault()
at DirectHTTPMessageResponder/errorHandler()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()

El PHP indica un error 500, que quiere decir algo falló pero no es específico en la causa. Consulta con tu proveedor a ver si puedes enviar un email desde Flash (el script de PHP lo veo bastante complicado, no puedes usar simnplemente la función mail?)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.