Mi primer formulario en ASP fácil, fácil…
Hasta ahora tenia varias webs sencillas hechas con html, flash y algún css. Sin embargo, por motivos de cambio de hosting y tecnologia he tenido que modificar algunos formularios.Tenia formularios que llamaban a un script cgi-bin hecho en perl que enviaba un email a la dirección configurada. Por supuesto que es algo que hace muchos años que existe y como tal, esta sujeto a un gran número de bugs y spammers.

Así que al cambiar el hosting los administradores me dijeron que en el nuevo servidor no funcionarian los scripts en perl que hacian de enviadores de mails, que tenia que usar ASP, y en concreto un modulo llamado aspemail.Esta bien documentado, os voy a poner mi ejemplo. Podéis hacerlo a partir de vuestro antiguo formulario en html y modificarlo para convertirlo en ASP.
Antes del tag <body> tenemos que poner
<%
' cambiar por el smtp de tu servidor (el que enviará el mail)
strHost = "mail.dominio.com"
If Request("Send") <> "" Then
Set Mail = Server.CreateObject("Persits.MailSender")
' enter valid SMTP host
Mail.Host = strHost
Mail.From = Request("Contacte") ' Direccion del remitente
Mail.FromName = Request("FromName") ' Nombre del que envia
Mail.AddAddress "usuario@dominio.com" 'Direccion de destino
Mail.Username = "envios@dominio.com" 'usuario del smtp
Mail.Password = "contraseña" 'Contraseña del smtp
' Asunto
Mail.Subject = Request("Subject") 'lo captura del campo llamado Subject
' cuerpo del mail
Mail.Body = Request("Body") 'lo captura del campo llamado Body
strErr = ""
bSuccess = False
On Error Resume Next ' catch errors
Mail.Send ' send message
If Err <> 0 Then ' error occurred
strErr = Err.Description
else
bSuccess = True
End If
End If
%>
Con esto ya hemos creado la instancia que llamará a la función aspemail y hemos configurado el envio del mail (remitente, asunto, nombre, smtp). Ahora este código nos mostrará un mensaje de envio con éxito o nos mostrará si ha habido algún error al enviar.
<% If strErr <> "" Then %>
Hi ha hagut un error: <% = strErr %>
<% End If %>
<% If bSuccess Then %>
Enviament correcte <% = Request(”FromName”) %>, en breu contactarem amb vosté.
<% End If %>
Ahora vamos a crear el formulario con los nombres de los campos que hemos usado:
<form method="post" action="contacte.asp">
<table cellpadding="2" cellspacing="0" height="234">
<tr>
<td width="109"><font size="2">Nom i cognoms:</font></td>
<td width="247"><input name="FromName" size="35" type="text" /></td>
</tr>
<tr>
<td width="109"><font size="2">Correu contacte:</font></td>
<td width="247"><input name="Contacte" size="35" type="text" /></td>
</tr>
<tr>
<td><font size="2">Assumpte:</font></td>
<td><input name="Subject" size="35" type="text" /></td>
</tr>
<tr>
<td height="136"><font size="2">Missatge:</font></td>
<td><textarea name="Body" cols="30" rows="5"></textarea></td>
</tr>
</table>
</form>
La estructura es la siguiente:
- Se carga la página, si el “Request” Send ha capturado datos, se crea la instancia Mail.Sender con todas las variables y configuraciones y pasa al paso 2.
- Si error es diferente a 0 (es decir, ha habido algun error), muestra el error que ha habido. Si no continúa con el mensaje “envio correcto señor “”, en breve contactaremos con usted.
- Si no, continua la carga de la página y muestra el formulario.
IMPORTANTE: Guardar la página con el mismo nombre de la acción del formulario, es decir, si la llamáis contacto.asp, en el campo action del boton send, poner contacto.asp.
<FORM METHOD="POST" ACTION="contacte.asp">
Publicado en la categoría ASP
Hacer comentario