2010-03-08 23 views
8

Estaba trabajando en un proyecto para enviar un formulario desde un correo electrónico. El escenario es esto. Enviaremos un formulario a la lista de correos electrónicos en los que el cliente debe completar el formulario y una vez que presionen enviar, se debe enviar el formulario y el servidor debe poder recuperar los valores proporcionados por la persona que ingresa. Cuando intentado, no estaba considerando el botón de enviar como formulario enviado y no se está realizando ninguna acción. ¿Alguien puede ayudarme a resolver esto? Gracias por adelantado.Envío de un formulario por correo electrónico

+0

¿En qué estás escribiendo esto? ¿Tienes código para demostrar tu problema? No hay mucho que podamos hacer para ayudar sin más información. – JasCav

+3

Estás peleando una batalla perdida aquí. Muchos clientes de correo electrónico restringirán severamente el marcado que puede incluir en un correo electrónico HTML hasta el punto de que es imposible una gran cantidad de funcionalidades. GMail, Yahoo! Mail y Hotmail son especialmente desafiantes. Recomiendo alojar el formulario en un servidor web y probar un enlace desde el correo electrónico. Está perdiendo el tiempo tratando de obtener un formulario para trabajar desde un correo electrónico. – Asaph

+0

El caso más impresionante es el nuevo Outlook. Borrando totalmente la entrada de texto/área de texto y el botón. – Shikiryu

Respuesta

7

Los formularios HTML y el código del lado del cliente normalmente están restringidos de la mayoría de los clientes de correo electrónico. Este es un vector de ataque obvio y, como tal, sus habilidades son limitadas cuando se trata de correo electrónico basado en HTML.

Recomendaría que proporciona un enlace a una página web.

2

enviar un formulario a través de correo electrónico es posible, El código que he escrito para enviar por correo electrónico (usando PHP SwiftMailer),

//Create the Transport 
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl") 
    ->setUsername('[email protected]') 
    ->setPassword('*****') 
    ; 
//Create the Mailer using your created Transport 
$mailer = Swift_Mailer::newInstance($transport); 
//Create a message 
$message = Swift_Message::newInstance('Fill the form') 
    ->setFrom(array('[email protected]' => 'Harry')) 
    ->setTo(array('[email protected]','[email protected]')) 
    ->setBody('<html>' . 
      ' <head></head>' . 
      ' <body>'. 
      ' <form action="http://www.our_domail.com/index.php" method="get">'. 
      ' <label>Name: </label><input type="input" id="name" name="name"/><br/>' . 
      ' <label>phone: </label><input type="input" id="phone" name="phone" /><br/>'. 
      ' <label>About you: </label><br/>'. 
      ' <textarea id="about" name="textb"></textarea> <input type="submit" value="submit" />'. 
      ' </form>'. 
      ' </body>' . 
      '</html>', 
      'text/html') 
    ; 
    //Send the message 
    if ($mailer->send($message)) 
    { 
    echo "Sent\n"; 
    } 
    else 
    { 
    echo "Failed\n"; 
    } 

en el buzón que me dieron la forma, que en la presentación de espectáculos de algunos mensajes como You are submitting information to an external page. Are you sure? y Although this page is encrypted, the information you have entered is to be sent over an unencrypted connection and could easily be read by a third party. Are you sure you want to continue sending this information? Al hacer clic en Continuar, se publica en mi servidor con los datos en el formulario. No estoy seguro de que podamos usar validaciones de JavaScript o hojas de estilo CSS en nuestros formularios. Nota: This was tested in Gmail server and i don't know about other mail servers..

En realidad, esto funcionó para mí, espero que también te haya ayudado ..

+1

Aparentemente no funcionará en Outlook: http://www.campaignmonitor.com/resources/will-it-work/forms/ –

Cuestiones relacionadas