Comunidad de diseño web y desarrollo en internet online

5 variables en el AMFPHP

Citar            
MensajeEscrito el 03 Dic 2008 08:18 pm
Estoy intentando enviar un webmail con AMFPHP pero él me está devolviendo este error:

(Object)#0
message = "faultCode:AMFPHP_RUNTIME_ERROR faultString:'mail() expects at most 5 parameters, 7 given' faultDetail:'/home/yvydes/public_html/amfphp/services/Email.php on line 11'"
name = "Error"
rootCause = (null)

Si coloco 5 variables funciona, pero tengo 7 que são:

$to, $subject, $name, $email, $telefone, $profesion, $mensage

Alguna idea de cómo resolver esto?

Desde ya muchas gracias. Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Dic 2008 08:41 pm
La función mail de PHP requiere 5 parámetros ( http://php.net/mail ), por ejemplo teléfono y profesión no le interesan mucho, eso lo deberías meter en el mensaje

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Dic 2008 09:22 pm
Y cómo hago eso Jorge?

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Dic 2008 09:25 pm
Postea el método de la clase PHP que estás usando (al qiue estes llamando en tu servicio)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Dic 2008 11:41 pm
El php es este

Código PHP :

<?php

class Email
{
   /**
   * This service send an email
   * @returns true or false
   */
   function send($to, $subject, $message)
   {
      return mail($to, $subject, $message);
   }
}

?>


Quiero aclarar para quien no sabe php, como yo, que mail es una función y que no acepta mas que 5 parámetros. No se puede hacer digamos un formulário con 18 campos y colocarlos a cada uno como variable $campo1,....$campo18 porque no va a funcionar. Por lo que estoy viendo hay que embutir esos campos "extras" dentro de la variable $message.

Lo que falta saber es como hacer esto.

Mi as3 es este

Código ActionScript :

function btnEnviar_CLICK ( e:MouseEvent ):void
{
   gw.call("Email.send", res, "[email protected]", "Desde Flash", txtMessage.text);
}


En mi caso lo que falta es un campo para "Profesión" y otro para "Teléfono".

Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 03 Dic 2008 11:50 pm
No hace falta que sepas de PHP, solo de AS. Arma el mensaje tal cual quieres que luzca en Flash, y en vez de enviar txtMessage.text, envías la cadena que hayas armadoi juntando toda la info que necesites

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Dic 2008 12:46 am
Es una excelente idea concatenar las informaciones. pero si concateno de esta forma:

txtMessage.text = "Comentário: " + txtComentario.text + "Professión: " + txtProfesion.text + "Teléfono: " +txtTelefono.text.toString();

No va a quedar todo en una sola línea? Hay alguna solución para esto?

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 04 Dic 2008 12:59 am
El separador de línea es \n

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Dic 2008 03:29 pm
Jorge gracias a tu ayuda funcionó perfectamente. Pero...siempre falta algo...cuando recibo el e-mail viene desde:

mi-login y adentro queda mi-login@mi-servidor

A la función mail le adicioné el parámetro $header y en el fla coloqué simplemente en su lugar una String pero no funcionó. Tenés idea de como modifcar el Header?

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 04 Dic 2008 03:36 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Dic 2008 04:02 pm
Jorge, no sé si me expliqué bien. De la forma que yo hice quedó como un titular del cuerpo del e-mail, siguiendo el ejemplo de la página que me indicaste. Pero lo que quiero saber es si se puede cambiar el valor del remitente, el que aparece en la caja de entrada de los clientes de e-mail.

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 04 Dic 2008 04:05 pm
Ok, te lo copio de los ejemplos de la page que te pasé:

Código :

$Name = "Da Duder"; //senders name
$email = "[email protected]"; //senders e-mail adress
$recipient = "[email protected]"; //recipient
$mail_body = "The text for the mail..."; //mail body
$subject = "Subject for reviever"; //subject
$header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields

mail($recipient, $subject, $mail_body, $header); 


Lo único que te interesa de esto es el cuarto argumento header (lo otro ya lo tienes resuelto) Lo que pones en el from es lo que aparece en el remitente

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Dic 2008 05:41 pm
Jorge esto no es lo mismo que lo que yo hice?. Fijate por favor:

Código PHP :

<?php

class Email
{
   /**
   * This service send an email
   * @returns true or false
   */
   function send($to, $subject, $message, $header)
   {
      return mail($to, $subject, $message, $header);
   }
}

?>


y el call del fla

Código ActionScript :

gw.call("Email.send", res, "[email protected]", "Website", txtMessage.text, "YVY Design" );


Y de esta forma la última string aparece dentro del cuerpo del e-mail.

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 04 Dic 2008 05:50 pm
Veamos, un header tal que este

$header = "From: ". $Name . " <" . $email . ">\r\n"

quedaría algo así:

"From: Jorge <[email protected]>\r\n"

que no es lo mismo que

"YVY Design"

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Dic 2008 06:01 pm
Jorge, lo que pasa es lo siguiente. El e-mail que estoy enviando es un form mail. O sea se origina en un sítio, no existe en este caso un usário que lo envíe. Por este motivo lo único que necesito es que cuando llegue a la caja de correio infome que vino del website, en este caso "YVY Design".

Si yo coloco como vos decís, la información

"From: Jorge <[email protected]>\r\n"

va a quedar en el cuerpo del e-mail o afuera?

Por lo que estoy viendo, me parece que lo que yo preciso alterar en realidad es el $recipient.

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 04 Dic 2008 06:02 pm
Tu prueba, es más, ponlo hardcoded en tu PHP a ver que pasa

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.