Source language: Translate to:

Trick: Send form data through email

General questions about NeoAppBuilder - our rapid application development tool for building HTML5, web and mobile apps.

Moderator: Neosoft Support

Trick: Send form data through email

Postby luishp » Mon Feb 15, 2016 1:44 pm

It is possible to send the data submited from a NAB form to an email address using PHP on a web server.
Just copy this code into a plain text editor and save it as "senddata.php", then upload it to your webserver:

Code: Select all
<?php
//Header required when app and php are of different origins
header("Access-Control-Allow-Origin: *");
$message="";
if($_SERVER["REQUEST_METHOD"] === "POST") {
   foreach ($_POST as $key => $value){
      $message .= "".htmlspecialchars($key).": ".htmlspecialchars($value)."\r\n";
   }
   $to = "somebody@example.com";
   $subject = "My subject";
   $headers = "From: webmaster@example.com" . "\r\n" . "CC: somebodyelse@example.com";
   mail($to,$subject,$message,$headers);
}else{
   $result = "INVALID DATA";
   echo $result;
}
echo "EMAIL SUCCESSFULLY SEND";
?>


Remember to change emails addresses.
On Form properties replace the "action" one with:

Code: Select all
http://yourdomain.com/yourfolder/senddata.php


You can use the FormSubmitToFile sample App to test it.

Regards.
Luis Hernández - SinLios Soluciones Digitales
http://sinlios.com
User avatar
luishp
 
Posts: 357
Joined: Wed May 23, 2007 10:17 am
Location: Spain

Re: Trick: Send form data through email

Postby Ashale » Sat Jun 18, 2016 12:34 pm

Hola Luis,

Sería posible pasarle variables desde NAB (campos de un formulario) para ser enviado por email via el script php ??

Gracias,
un saludo!
Ashale
 
Posts: 3
Joined: Mon Jun 13, 2016 12:59 am

Re: Trick: Send form data through email

Postby luishp » Sat Jun 25, 2016 3:23 am

Si Ashale, eso es justamente lo que hace :)
Saludos!
Luis Hernández - SinLios Soluciones Digitales
http://sinlios.com
User avatar
luishp
 
Posts: 357
Joined: Wed May 23, 2007 10:17 am
Location: Spain

Re: Trick: Send form data through email

Postby gusgusl » Thu Jun 30, 2016 9:21 pm

Como podria hacer para usar tu ejemplo para enviar por correo el contenido de un listbox o de un area de texto con varias lineas?
gusgusl
 
Posts: 254
Joined: Fri Mar 12, 2010 12:44 pm

Re: Trick: Send form data through email

Postby luishp » Fri Jul 01, 2016 9:48 am

El archivo PHP que pongo de ejemplo está preparado para detectar cualquier variable que se le envíe desde un formulario, independientemente de que sea a través de un area de texto, un listbox, un checkbox o lo que sea.
Realmente no tienes que hacer nada más de lo que explico arriba del todo.
A ver si consigo encontrar algo de tiempo y, ahora que NAB exporta a ZIP todos los recursos, comparto algunas plantillas útiles.
He dejado de lado unos cuantos plugins porque ultimamente no doy a basto.
Luis Hernández - SinLios Soluciones Digitales
http://sinlios.com
User avatar
luishp
 
Posts: 357
Joined: Wed May 23, 2007 10:17 am
Location: Spain

Re: Trick: Send form data through email

Postby gusgusl » Sat Jul 02, 2016 6:46 pm

Hola, como estas
He estado probando tu script para el envio de los datos del formulario a traves del mail

Aqui loo que me pasa:

Recibo perfectamente el mail en mi casilla, pero sin contenido alguno en el mensaje
Como que no carga los datos del form o sera que estoy haciendo algo mal?
Te pregunto:

Las variables que contienen los diferentes datos del form deben ser puestas en algun lugar?
gusgusl
 
Posts: 254
Joined: Fri Mar 12, 2010 12:44 pm

Re: Trick: Send form data through email

Postby luishp » Sat Jul 02, 2016 10:06 pm

gugsgusl:

Take the FormSubmit sample that comes with NeoAppNuilder.
Empieza con el ejemplo FormSubmit que viene con NeoAppBuilder

Click the Form Object and change the "action" property to "sendmail.php".
Haz click en el formulario y cambia la propiedad "action" a "enviarmail.php"

Compile the project.
Compila el proyecto.

Copy this code and save it within the FormSubmit compiled project folder as "sendmail.php" (don't forget to change email addresses)
Copia este código y guárdalo en la misma carpeta del proyecto compilado con el nombre "enviarmail.php" (no olvides cambiar primero las direcciones de email)

Code: Select all
<?php
//Header required when app and php are of different origins
header("Access-Control-Allow-Origin: *");
$message="";
if($_SERVER["REQUEST_METHOD"] === "POST") {
   foreach ($_POST as $key => $value){
      $message .= "".htmlspecialchars($key).": ".htmlspecialchars($value)."\r\n";
   }
   $to = "somebody@example.com";
   $subject = "My subject";
   $headers = "From: webmaster@example.com" . "\r\n" . "CC: somebodyelse@example.com";
   mail($to,$subject,$message,$headers);
}else{
   $result = "INVALID DATA";
   echo $result;
}
echo "EMAIL SUCCESSFULLY SEND";
?>


Upload everything to a web server and test it.
Súbelo todo a un servidor web y pruébalo.

I have tested it an it works perfectly. You can even add more fields to the form without touching the php file.
Lo he probado y funciona perfectamente. Puedes añadir cuantos campos quieras al formulario sin volver a tocar el archivo php.
Luis Hernández - SinLios Soluciones Digitales
http://sinlios.com
User avatar
luishp
 
Posts: 357
Joined: Wed May 23, 2007 10:17 am
Location: Spain

Re: Trick: Send form data through email

Postby gusgusl » Sun Jul 03, 2016 10:28 am

Como tu dices, desde el ejemplo que viene con "Neoapp" funciona perfectamente
Pero desde mi aplicación y usando la misma configuración y siguiendo todo el procedimiento que distes no logro enviar los datos, me llega el correo pero vacio

Aquí cargue el código fuente de mi aplicación a ver si puedes echarme una mano y ver que esta equivocado
Y desde ya mil disculpas por mi ignorancia

http://guaviyu.org/Dumbo/Plataforma%20Web.neoapp
gusgusl
 
Posts: 254
Joined: Fri Mar 12, 2010 12:44 pm

Re: Trick: Send form data through email

Postby luishp » Tue Jul 05, 2016 1:14 am

Creo que no te está funcionando porque has dejado vacía la propiedad property-name (nombre de la propiedad) en los campos de texto.
En HTML corresponde al atributo "name" que PHP necesita para darle un nombre a los campos de información que recibe.

I think it is not working becouse you have not entered any value into the property-name attribute on any of your text fields.
That's the "name" HTML attribute PHP needs to give a name to every piece of information recieved.
Luis Hernández - SinLios Soluciones Digitales
http://sinlios.com
User avatar
luishp
 
Posts: 357
Joined: Wed May 23, 2007 10:17 am
Location: Spain

Re: Trick: Send form data through email

Postby gusgusl » Tue Jul 05, 2016 10:35 pm

Gracias, era por eso si que no enviaba
gusgusl
 
Posts: 254
Joined: Fri Mar 12, 2010 12:44 pm

Re: Trick: Send form data through email

Postby gusgusl » Tue Jul 05, 2016 10:40 pm

Porque desde Neoapp envia los correos pero si compilo la aplicacion y la pruebo en un smartphone no hace el envío?

Para probar cree una aplicación, la compile, la subí a Phonegap y el .apk resultante lo probe en un smartphone.
Se abre el form de manera correcta pero si le doy enviar nunca hace el envio ni llega correo alguno a destino
Aclarar que como antes mencione si hago la prueba en Neoapp el envío es realizado correctamente.

Es por algun tipo de limitación por seguridad de android? o me esta faltando algo?
gusgusl
 
Posts: 254
Joined: Fri Mar 12, 2010 12:44 pm

Re: Trick: Send form data through email

Postby luishp » Wed Jul 06, 2016 12:04 am

gusgusl, los archivos .php sólo pueden ejecutarse en un servidor web, no en el propio móvil.
Por ello, si vas a compilar la aplicación a .apk, en el formario debes indicar la dirección web del archivo .php completa.
Ejemplo: en lugar de "enviar.php" deberás poner "http://midominio.com/miruta/enviar.php"

gusgusl, .php files can only be executed in a web server, never in a user smartphone.
So, if you want to compile to .apk, you should use an absolute path to your .php file on your form.
Example: put "http://mydomain.com/mypath/send.php" instead of "send.php"
Luis Hernández - SinLios Soluciones Digitales
http://sinlios.com
User avatar
luishp
 
Posts: 357
Joined: Wed May 23, 2007 10:17 am
Location: Spain

Re: Trick: Send form data through email

Postby gusgusl » Wed Jul 06, 2016 11:39 am

he probado poniendo la ruta completa y no hace el envió del mail
Mi ruta es :

http://guaviyu.org/Neoapp/sendmail.php

también he verificado que estén bien en el servidor las carpetas

esa misma dirección pero probando desde Neoapp funciona perfectamente
gusgusl
 
Posts: 254
Joined: Fri Mar 12, 2010 12:44 pm


Return to General NeoAppBuilder Discussion

Who is online

Users browsing this forum: No registered users and 0 guests

cron