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.
