El envío de formularios web mediante jmail y perl

  • skuff
  • Novice
  • Novice
  • Avatar de Usuario
  • Registrado: Sep 02, 2003
  • Mensajes: 28
  • Loc: Merseyside, UK
  • Status: Offline

Nota Septiembre 2nd, 2003, 6:38 am

Hola a todos :)

Tengo problemas para la creación de formas simples de mi sitio web, mi webhosts me han dicho que tendré que usar algo llamado jmail y Perl, Ive consiguió un tosco inderstanding qué son estas cosas, pero soy un principiante comlplete cuando se trata de este malarkey de secuencias de comandos y necesito algo de ayuda. Estoy en un servidor Windows y en lo que yo puedo hacer que yo tenga que modificar el código siguiente y luego subirlo a la carpeta cgi-bin en formato ASCII, pero no sé qué partes Im supuesto para el cambio.

Código: [ Select ]
use OLE;
    use CGI;
    $jmail = CreateObject OLE "JMail.SMTPMail";

print "Content-type: text/html\n\n";

$form = new CGI;
    $Recipient=$form->param('email');
    
    $domain = $ENV {'SERVER_NAME'};
    $referer = $ENV {'HTTP_REFERER'};
    $url = $referer;
    $url =~ s/^http:\/\///i;
    $url =~ s/^www\.//i;
    $domain =~ s/^www\.//i;


$Sender = "noreply\@$domain";
    $SMTPServer = "smtp.$domain:25";
    $Subject = "JMail Example";
    $Body = "This test mail sent from: $ENV{'LOCAL_ADDR'} using the JMail component on the server via Perl.";
    $Priority=3;
    $Header = "Originating-IP", $ENV{'REMOTE_ADDR'};

    $jmail->{ServerAddress} = $SMTPServer;
    $jmail->{Sender} = $Sender;
    $jmail->{Subject} = $Subject;
    $jmail->AddRecipient ($Recipient);
    $jmail->{Body} = $Body;
    $jmail->{Priority} = $Priority;
    $jmail->AddHeader ($Header);

if ($url =~ m/^$domain/)
    {
        $mailmessage = "mail sent";
        $jmail->Execute;
    }
    else
    {
        $mailmessage = "mail was not sent. Incorrect Referer";
    }
 

print "Result: $mailmessage Recipient: $Recipient";
    print "Sender: $Sender SMTP Server: $SMTPServer";
    print "Subject: $Subject Referer: $referer";
    print "Domain: $domain url: $url ";
  1. use OLE;
  2.     use CGI;
  3.     $jmail = CreateObject OLE "JMail.SMTPMail";
  4. print "Content-type: text/html\n\n";
  5. $form = new CGI;
  6.     $Recipient=$form->param('email');
  7.     
  8.     $domain = $ENV {'SERVER_NAME'};
  9.     $referer = $ENV {'HTTP_REFERER'};
  10.     $url = $referer;
  11.     $url =~ s/^http:\/\///i;
  12.     $url =~ s/^www\.//i;
  13.     $domain =~ s/^www\.//i;
  14. $Sender = "noreply\@$domain";
  15.     $SMTPServer = "smtp.$domain:25";
  16.     $Subject = "JMail Example";
  17.     $Body = "This test mail sent from: $ENV{'LOCAL_ADDR'} using the JMail component on the server via Perl.";
  18.     $Priority=3;
  19.     $Header = "Originating-IP", $ENV{'REMOTE_ADDR'};
  20.     $jmail->{ServerAddress} = $SMTPServer;
  21.     $jmail->{Sender} = $Sender;
  22.     $jmail->{Subject} = $Subject;
  23.     $jmail->AddRecipient ($Recipient);
  24.     $jmail->{Body} = $Body;
  25.     $jmail->{Priority} = $Priority;
  26.     $jmail->AddHeader ($Header);
  27. if ($url =~ m/^$domain/)
  28.     {
  29.         $mailmessage = "mail sent";
  30.         $jmail->Execute;
  31.     }
  32.     else
  33.     {
  34.         $mailmessage = "mail was not sent. Incorrect Referer";
  35.     }
  36.  
  37. print "Result: $mailmessage Recipient: $Recipient";
  38.     print "Sender: $Sender SMTP Server: $SMTPServer";
  39.     print "Subject: $Subject Referer: $referer";
  40.     print "Domain: $domain url: $url ";


Gracias
Skuff
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Septiembre 2nd, 2003, 6:38 am

  • ATNO/TW
  • Super Moderator
  • Super Moderator
  • Avatar de Usuario
  • Registrado: May 28, 2003
  • Mensajes: 23403
  • Loc: Woodbridge VA
  • Status: Offline

Nota Septiembre 2nd, 2003, 7:23 am

Parece un poco extraño que un servidor de Windows habría que hacerlo en perl. Hago la mía con ASP usando Visual Basic. Heres una simple con los comentarios que possitively obras, no importa lo almacena en su directorio (se supone que el servidor soporta ASP y desde su servidor de Windows, me habría de creer - (permisos del directorio deben ser establecidos para leer y ejecutar secuencias de comandos - CGI -bin probablemente ya está establecido de esa manera por lo que su tan buen lugar para dejarlo como cualquier otro.) (Guardar como. asp):

Código: [ Select ]
<%
SenderEmail = request.form ("email")
SenderName = request.form ("name")
Set JMail = Server.CreateObject("JMail.SMTPMail")

' This is my local SMTP server
JMail.ServerAddress = "mailhub.yoursmptserver.com"

' This is me....
JMail.SenderName = SenderName
JMail.Sender = SenderEmail
JMail.Subject = "Subscription Submission"

' Get the recipients mailbox from a form (note the lack of a equal sign).
JMail.AddRecipient "yourmail@wherever.com"
'JMail.AddRecipient "dad@some.com"

' The body property is bodth read and write.
' If you want to append text to the body you can
' use JMail.Body = JMail.Body & "Hello world!"
' or you can use JMail.AppendText "Hello World!"
' which in many cases is easier to use.
JMail.Body ="Name = " & request.form ("name") & vbCrLf&_
"Email Address = " & request.form ("email")



JMail.Priority = 3

JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")

' Must make sure that IUSR_???? has access to the following files.
'JMail.AppendBodyFromFile "e:\mail\standard_footer.txt"
'JMail.AddAttachment "e:\products\MyProduct.exe"

' Send it...
JMail.Execute
Set JMail = nothing
%>
  1. <%
  2. SenderEmail = request.form ("email")
  3. SenderName = request.form ("name")
  4. Set JMail = Server.CreateObject("JMail.SMTPMail")
  5. ' This is my local SMTP server
  6. JMail.ServerAddress = "mailhub.yoursmptserver.com"
  7. ' This is me....
  8. JMail.SenderName = SenderName
  9. JMail.Sender = SenderEmail
  10. JMail.Subject = "Subscription Submission"
  11. ' Get the recipients mailbox from a form (note the lack of a equal sign).
  12. JMail.AddRecipient "yourmail@wherever.com"
  13. 'JMail.AddRecipient "dad@some.com"
  14. ' The body property is bodth read and write.
  15. ' If you want to append text to the body you can
  16. ' use JMail.Body = JMail.Body & "Hello world!"
  17. ' or you can use JMail.AppendText "Hello World!"
  18. ' which in many cases is easier to use.
  19. JMail.Body ="Name = " & request.form ("name") & vbCrLf&_
  20. "Email Address = " & request.form ("email")
  21. JMail.Priority = 3
  22. JMail.AddHeader "Originating-IP", Request.ServerVariables("REMOTE_ADDR")
  23. ' Must make sure that IUSR_???? has access to the following files.
  24. 'JMail.AppendBodyFromFile "e:\mail\standard_footer.txt"
  25. 'JMail.AddAttachment "e:\products\MyProduct.exe"
  26. ' Send it...
  27. JMail.Execute
  28. Set JMail = nothing
  29. %>



La forma del HTML es tan básica (Guardar como una página HTML):


Código: [ Select ]
<FORM method="POST" action="/cgi-bin/subscribeform.asp">
<input type="hidden" name="required"       value="Name,SubscriberMail" />
Your Name:        
<input tabindex="1" type="text" size="30" name="name" /><br />
Your Email:            
<input tabindex="2" type="text" size="30" name="email" /><br />
<input tabindex="3" type="submit" value="Submit" title="Submit this form"><br />
</form>
  1. <FORM method="POST" action="/cgi-bin/subscribeform.asp">
  2. <input type="hidden" name="required"       value="Name,SubscriberMail" />
  3. Your Name:        
  4. <input tabindex="1" type="text" size="30" name="name" /><br />
  5. Your Email:            
  6. <input tabindex="2" type="text" size="30" name="email" /><br />
  7. <input tabindex="3" type="submit" value="Submit" title="Submit this form"><br />
  8. </form>


Que es un modelo de trabajo. Sólo cambia la Jmail.AddRecipient a su dirección de correo electrónico y cambiar la Jmail.ServerAddress a tus anfitriones servidor SMPT y debe trabajar para usted la primera vez, siempre puede utilizar ASP
"There's no place like 127.0.0.1 except for ::1."
Alexandria Networks. Leader in IT consulting for associations/non-profits, and small to medium sized businesses around the northern Virginia and Washington D.C. metro area.
  • skuff
  • Novice
  • Novice
  • Avatar de Usuario
  • Registrado: Sep 02, 2003
  • Mensajes: 28
  • Loc: Merseyside, UK
  • Status: Offline

Nota Septiembre 2nd, 2003, 7:48 am

ATNO Hi / TW

La cuenta que tengo con el webhosts no me permite utilizar ASP y me dieron dos alternativas, actualizar mi cuenta o el uso de Perl, Im no la mejora de mi cuenta como ya estoy pagando £ 49,99 (Libras esterlinas británicas) al año, pero lo hacen ofrecen 30 días de garantía de devolución de dinero que quizás yo tenga que tomar ellos en si no puedo ordenar estas formas.

¡Salud!
  • ATNO/TW
  • Super Moderator
  • Super Moderator
  • Avatar de Usuario
  • Registrado: May 28, 2003
  • Mensajes: 23403
  • Loc: Woodbridge VA
  • Status: Offline

Nota Septiembre 2nd, 2003, 8:02 am

Que sorta sucks! Quien escucha de un host de Windows Server que no ofrecen por lo menos 3,0 ASP en sus planes básicos? Bien, entonces...No sé Perl lo suficientemente bien como para ayudarle a resolver la versión de Perl. Supongo que así tienen que esperar en un experto en Perl para ese consejo. Lo sentimos no he podido ayudar.
"There's no place like 127.0.0.1 except for ::1."
Alexandria Networks. Leader in IT consulting for associations/non-profits, and small to medium sized businesses around the northern Virginia and Washington D.C. metro area.
  • skuff
  • Novice
  • Novice
  • Avatar de Usuario
  • Registrado: Sep 02, 2003
  • Mensajes: 28
  • Loc: Merseyside, UK
  • Status: Offline

Nota Septiembre 2nd, 2003, 8:17 am

Im obtener la impresión de que los hosts que he elegido son un poco crap, como he mencionado antes de Im nuevo a los guiones para que cuando me registré con ellos supone que el paquete que yo elegí me permitiría ser recibir las formas a través de mi sitio (su paso hasta de su paquete básico), pero, evidentemente, va a ser su más duro que me primer pensamiento. Gracias por tratar de ayudar de todos modos :)
  • dreamer7
  • Student
  • Student
  • No Avatar
  • Registrado: Ene 20, 2003
  • Mensajes: 96
  • Loc: UK
  • Status: Offline

Nota Septiembre 2nd, 2003, 10:39 am

Sí su paquete no parece que bien £ 49.99 al año, pero luego otra vez si es confiable entonces su ok i supongo. De lo que puedo ver en el código tiene que haber una página para ir con él porque tengo la sensación de que tiene que ser un tipo de entrada con el nombre = "email" en ella con un valor de un correo electrónico para que la secuencia de comandos puede enviar a esa dirección si lo conseguiste? dominio de $ y $ servidor son de su dominio y servidor i pensar. Creo que lo único que tienes que hacer es hacer una página HTML con esto en él:
Código: [ Select ]
<html>
<head>
</head>
<body>
<form action="cgi-bin/yourscript" method="post">
<input type="hidden" value="youremail@...com" name="email">
</form>
</body>
</html>
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <form action="cgi-bin/yourscript" method="post">
  6. <input type="hidden" value="youremail@...com" name="email">
  7. </form>
  8. </body>
  9. </html>

que sólo lo dirá el script de lo que la dirección de correo electrónico de correo electrónico se va a ir. Si usted desea que el usuario introduzca datos en un cuadro de texto que tendrán que añadir más a la escritura y yo tenemos un tutorial en algún lugar de aquí que le dice qué hacer, pero tengo la sensación de que no se utilizan mucho .. lol
http://www.ozzu.com/viewtopic.php?t=934

Esperamos que ayuda a
Dreamer7
  • skuff
  • Novice
  • Novice
  • Avatar de Usuario
  • Registrado: Sep 02, 2003
  • Mensajes: 28
  • Loc: Merseyside, UK
  • Status: Offline

Nota Septiembre 2nd, 2003, 11:05 am

Si la sección de ayuda en el sitio web alberga menciona el poco html

Código: [ Select ]
<form action="cgi-bin/jmail.pl" method="post" name="mailform">
      <input name="email" type="text" size="40">
      <input name="email_submit" type="submit" value="send mail">
     </form>
  1. <form action="cgi-bin/jmail.pl" method="post" name="mailform">
  2.       <input name="email" type="text" size="40">
  3.       <input name="email_submit" type="submit" value="send mail">
  4.      </form>



Yo supuse que tenía que añadir mi dirección de correo electrónico en alguna parte del archivo de jmail.pl. No sé si ayuda alguna, pero la dirección del edificio es el sitio de la Im http://tradewagon.co.uk . Podría darle una mejor idea de lo que soy tratando de lograr o que sólo puede hacer reír, de cualquier manera, gracias por la ayuda.
  • dreamer7
  • Student
  • Student
  • No Avatar
  • Registrado: Ene 20, 2003
  • Mensajes: 96
  • Loc: UK
  • Status: Offline

Nota Septiembre 2nd, 2003, 11:15 am

Tal vez en la jmail.pl archivo que debería cambiar el valor de $ destinatario de dólares forma-> param ( "correo electrónico"), "your@yourdomain.com", lo que dejaría de tomar la dirección de correo electrónico desde la página de modo usted wouldnt la necesidad de introducción de texto para introducir la dirección en que.
DJ
  • skuff
  • Novice
  • Novice
  • Avatar de Usuario
  • Registrado: Sep 02, 2003
  • Mensajes: 28
  • Loc: Merseyside, UK
  • Status: Offline

Nota Septiembre 2nd, 2003, 11:58 am

derecho por lo que modificar esta parte de jmail.pl

Código: [ Select ]

use OLE;
use CGI;
$jmail = CreateObject OLE "JMail.SMTPMail";

print "Content-type: text/html\n\n";

$form = new CGI;
$Recipient=$form->param('email@tradewagon.co.uk');
  1. use OLE;
  2. use CGI;
  3. $jmail = CreateObject OLE "JMail.SMTPMail";
  4. print "Content-type: text/html\n\n";
  5. $form = new CGI;
  6. $Recipient=$form->param('email@tradewagon.co.uk');


(se supone que voy a poner #! / usr / local / bin / perl en la parte superior?)

Luego cargar el jmail.pl, asegúrese de que mi forma (s) han

Código: [ Select ]
form action="cgi-bin/jmail.pl"


incluido y que debería funcionar?
  • dreamer7
  • Student
  • Student
  • No Avatar
  • Registrado: Ene 20, 2003
  • Mensajes: 96
  • Loc: UK
  • Status: Offline

Nota Septiembre 2nd, 2003, 12:19 pm

No tienes que sacar $ form-> param (...porque se trata de encontrar una entrada en el formulario con el nombre en los soportes y no hay una sola.... para cambiarlo por lo que es...
Código: [ Select ]
$recipient = "email@tradewagon.co.uk";

y #! usr / local / bin / perl o #! usr / bin / perl debe estar en la parte superior de su script de perl de lo contrario no funcionará y el resto debe estar bien para cuando lo ejecuta obtendrá el correo electrónico de vuelta a su domicilio .. los dedos cruzados.
dj
  • skuff
  • Novice
  • Novice
  • Avatar de Usuario
  • Registrado: Sep 02, 2003
  • Mensajes: 28
  • Loc: Merseyside, UK
  • Status: Offline

Nota Septiembre 2nd, 2003, 1:37 pm

Ive intentó subir jmail.pl y en lugar de jugar un poco con mi propio sitio web acabo de utilizar el formulario de ejemplo que estaba en la página de ayuda de los ejércitos

Código: [ Select ]
<form action="cgi-bin/jmail.pl" method="post" name="mailform">
      <input name="email" type="text" size="40">
      <input name="email_submit" type="submit" value="send mail">
     </form>
  1. <form action="cgi-bin/jmail.pl" method="post" name="mailform">
  2.       <input name="email" type="text" size="40">
  3.       <input name="email_submit" type="submit" value="send mail">
  4.      </form>



y subido, pero que no parece funcionar, Ive tenía un vistazo en la página de ayuda en el lugar de los ejércitos de nuevo y se menciona que todo el correo debe tener un válido "de" o "a la" dirección que es un dominio alojado con ellos y que redirigir todo el correo electrónico basado en web a un sistema de filtro SMTP. Así que no sé si thats tiene nada que ver con ¿por qué no su trabajo.
  • ATNO/TW
  • Super Moderator
  • Super Moderator
  • Avatar de Usuario
  • Registrado: May 28, 2003
  • Mensajes: 23403
  • Loc: Woodbridge VA
  • Status: Offline

Nota Septiembre 2nd, 2003, 2:01 pm

Tal vez añadiendo que esto podría ayudar a la derecha antes de $ Destinatario:

Código: [ Select ]
$mailprog = '/usr/lib/sendmail -f email@tradewagon.co.uk -t';


Im no seguro - pero ése es el filtro que tenía que añadir a la mía de un cliente cuando el host mejorado su software de filtrado de spam.

Como he dicho antes - Im no versado en Perl, pero recordó que tenía que añadir que para conseguir que evitan los filtros de spam los ejércitos.
"There's no place like 127.0.0.1 except for ::1."
Alexandria Networks. Leader in IT consulting for associations/non-profits, and small to medium sized businesses around the northern Virginia and Washington D.C. metro area.
  • dreamer7
  • Student
  • Student
  • No Avatar
  • Registrado: Ene 20, 2003
  • Mensajes: 96
  • Loc: UK
  • Status: Offline

Nota Septiembre 2nd, 2003, 2:06 pm

Erm de interés sí, ¿por qué es que usted no puede usar mi guión? debido a su mucho más fácil de usar. ¿Cuál es la dirección de su anfitrión?
DJ
  • skuff
  • Novice
  • Novice
  • Avatar de Usuario
  • Registrado: Sep 02, 2003
  • Mensajes: 28
  • Loc: Merseyside, UK
  • Status: Offline

Nota Septiembre 2nd, 2003, 2:32 pm

Todavía no puedo conseguir que funcione, pero sin duda he hecho algo mal. Theres ninguna razón por la que no podía utilizar su script Dreamer7, de hecho acabo de probado pero no he podido conseguir que eso funcione bien. De todos modos Im que va a dar hasta esta noche para tratar cos sus dejó de ser divertido ahora, agradezco su ayuda Dreamer7 y ATNO / TW gracias.

Oh yeah los anfitriones son fasthosts.co. Reino Unido, pero creo que podría cambiar después de todo esto e ir con una acogida que me permite utilizar ASP para poder usar un carrito de la compra en lugar de tonto formas.

¡Salud! :)
  • skuff
  • Novice
  • Novice
  • Avatar de Usuario
  • Registrado: Sep 02, 2003
  • Mensajes: 28
  • Loc: Merseyside, UK
  • Status: Offline

Nota Septiembre 4th, 2003, 5:45 am

Después de jugar en todo el mundo unos días tratando de obtener mi forma de trabajar con poco éxito y el hecho de que el paquete de alojamiento He comprado no está demasiado caliente, creo que voy a volver al tablero de dibujo con mi sitio. Lo que yo quería hacer era construir un sitio que podría vincularse directamente a las páginas de Mi eBay y salvar a mí mismo una fortuna en lista honorarios etc, en un principio pensé mediante formularios para presentar órdenes de trabajo, pero ahora Im pensar un carrito de la compra sería una idea mucho mejor (He visto una libre ASP Charron una llamada o algo similar), pero como he mencionado antes en el hilo no puedo utilizar ASP con el paquete que he comprado por lo que estoy a punto de cancelar mi cuenta con mis anfitriones (fasthosts.co. uk) ya que tienen 30 días de período de prueba. Antes de hacer a pesar de que acabo de pensamiento Id ver si alguien tiene alguna sugerencia en cuanto a lo que sería una buena acogida para mis necesidades. Actualmente estoy pagando £ 49,99 £ 8,75 más IVA por lo que cualquier anfitrión fiable que es más barato que estar bien.
Gracias
:)
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Septiembre 4th, 2003, 5:45 am

Publicar Información

  • Total de mensajes en este tema: 30 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 103 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC