Buscar en Asptutor     
Demo Tienda Virtual Tutorcar
 Navegacion->Inicio | Active Server Pages  

La web de los recursos y ejemplos de asp

Versión para imprimir

 

Alojado en:


urbe-networks.com

Recomienda esta pagina a un amigo

Servicios Gratuitos

Articulos relacionados

Utilizar GetRows()

Tienda Virtual - Carrito de compra

Messenger a través de BD en ASP

Miniaplicacion de comercio electronico

Objeto Datagrid de ASP.NET en ASP

Acotación de resultados

Como vaciar un array

Como pasar información entre páginas

Documentos de referencia

Un calendario en ASP (versión ampliada)

Distintos formatos de Fecha

Restriccion de acceso a paginas

Como vaciar un array

Paginación de registros con XML

Mostrar datos de las ultimas visitas a una página

Mostrando una imagen al azar de nuestro disco (Ejemplo de FSO)


Enlaces recomendados

   

Tutorial ASP

Tutorial de ASPEmail (Ampliado)
Este articulo ha sido leído 136.618 veces

Tutorial de ASPEmail

Colaboración enviada por 

¿Qué es AspEmail?

AspEmail es un componente activo del servidor, creado por Persists Software, Inc, que sirve para mandar mensajes de correo electrónico usando un servidor SMTP externo desde entornos como ASP y Visual Basic.

Instalación

  • Pregunta al administrador de tu sitio web si disponen de ese componente. Si no es el caso pero te da permiso para instalar dlls propios en el servidor, puedes descargar la versión gratuita pero con ciertas limitaciones desde http://www.aspemail.com/, en su sección “download”. Una vez lo tengas en tu ordenador, instálalo y envía al adminstrador el archivo “AspEmail.dll” solicitándole que lo registre. Este archivo suele encontrarse, después de la instalación en un directorio parecido a este: “c:\archivos de programa\Persits Software\AspEmail\BIN\”.
    (Nota: Estos pasos son sólo una indicación ya que es  muy fácil que estos pasos puedan variar de un ordenador a otro y de un servidor web a otro)

Cómo se usa AspEmail en ASP

Ya he comentado que AspEmail es un componente del servidor, por lo tanto debes crear una instancia  del mismo en ASP

Esto se hace así:

Set Mail = Server.CreateObject(“Persits.MailSender”)

Lo siguiente es configurar las opciones elementales como el servidor SMTP

Mail.Host = “smtp.tuservidor.com”

También puedes especificar varios Servidores SMTP por si alguno no funciona en ese momento. Esto se hace indicando a la propiedad Host varios servidores separados por “;”.

Mail.Host = “smtp.tuservidor.com;smtp2.tuservidor.com;smtp.otroservidor.com”

Otra propiedad indispensable es el email de quien envía el mensaje:

Mail.From = “ventas@miservidor.com”

Y si lo deseas (es opcional) el nombre del mismo:

Mail.FromName = “Departamento de ventas”

A continuación le indicamos a quién debe mandar el mensaje, ya sea como Dirección Original o bien como Carbon Copy. Algunos ejemplos:

Mail.AddAddress “nombre@unservidor.com” 

‘ En el siguiente ejemplo, el parámetro “Nombre del destinatario” es opcional”

MailAddAddress “nombre@otroservidor.com”, “Nombre del destinatario” 

MailAddCC “otronombre@otroservidor.com” ‘ Destinatario de la copia

Nota: Fíjate que ahí no hemos usado el signo “=”. Esto es porque es un método, no una propiedad del componente. Saber esto te será útil cuando consultes la referencia de AspMail

También es importante, aunque no imprescindible, indicarle un título al mensaje

Mail.Subject “Titulo del mensaje”

Y por supuesto, siempre es conveniente escribir algo en el cuerpo del mensaje

Mail.Body = “Estimado Amigo,” & chr(13) & chr(10) & “Gracias por tu coperación”

Incluso puedes mandarlo usando HTML con sólo indicar una propiedad más

Mail.Body =”<html><body bgcolor=#DDDDDD>Estimado Amigo,...</BODY></HTML>”

Mail.IsHTML = True

Ya sólo nos falta enviar el mensaje, usando el método “Send” (enviar). Puede que hacer esto falle en algún momento por lo que es una buena costumbre usar “On Error Resume Next” en tu código. Por ejemplo:

On Error Resume Next

Mail.Send

If Err <> 0 Then
            Response.Write “Ha ocurrido un error: “ & Err.Description
Else

            Response.Write “Mensaje enviado con éxito”
End if

Ejemplo útil de AspEmail

A continuación te mostramos mediante la cual, y sólo con pasarle algunos parámetros, te permitirá enviar un correo electrónico.

<%
Function Correo(From,FromName,Address,AddressName,Subject,Body)

Dim Mail
On Error Resume Next
Set Mail = Server.CreateObject("Persits.MailSender")
Mail.Host = "mail.tuservidor.com"
Mail.ContentTransferEncoding = "Quoted-Printable"
Mail.From = From
Mail.FromName = Mail.EncodeHeader(FromName)
Mail.AddAddress Address, Mail.EncodeHeader(AddressName)
Mail.Subject = Mail.EncodeHeader(Subject)
Mail.Body = Body
Mail.SendToQueue
If Err <> 0 Then
Correo = Err.Description
Else
Correo = ""
End If

End Function
%>

Los parámetros de la función son:

From Dirección de correo del remitente
FromName Nombre del remitente
Address Dirección de correo del destinatario
AddressName Nombre del destinatario
Subject Asunto del correo que se quiere enviar
Body Cuerpo del mensaje que se quiere enviar

Si esta función se encuentra en un archivo llamado "correo.inc", dentro del directorio /utilidades, para enviar un correo bastará con hacer algo como lo que sigue:

<!--#include virtual="/utilidades/correo.inc"-->

<%
strError = Correo("webmaster@ciberteca.net","Webmaster de la Ciberteca","tucorreo@tuservidor.com","Tu Nombre", "Buen tutorial","Muchas gracias por el tutorial de ASPEmail, me ha sutado mucho")

if len(strError) > 0 then
Response.Write "<b>Se ha producido un error al enviar el email</b><br>" & strError
else
Response.Write "Email enviado con éxito".
end if
%>

Como puedes observar, si se produce un error, la variable strError almacenará una descripción del motivo que lo ha causado. Esta caraterística la usamos para advertir al usuario del éxito o fracaso de la operación.

Este ejemplo te puede ser muy útil para enviar formularios, emails recomendando la página web, pequeñas listas de correo y muchas otras posibilidades.

Referencia anotada del componente AspEmail en español

Aquí tienes una referencia con las propiedades, los métodos y los códigos de error más importantes del componente. Recuerda que antes de enviar el mensaje debes haber completado todas las propiedades Requeridas que se indican y que sólo podrás usar las características “premium” si adquiere la versión comercial del producto, no la gratuita.

Propiedades del Componente

Propiedad y Tipo

Comentarios

Host As String

Requerido. La dirección del servidor SMTP que se usará para enviar mensajes.

Port As Integer

El número de Puerto de SMTP 25 por defecto.
(No conviene modificarlo, el puerto 25 es el que suelen usar todos los servidores)

From As String

Requerido. La dirección de correo electrónico de quien envía este mensaje.

FromName As String

El nombre de quien envía este email.

Subject As String

El título del mensaje.

Body As String

El cuerpo del Mensaje. Puede enviarse como sólo texto o bien en formato HTML si se pone la propiedad IsHTML a Verdadero (True).
(Con esto consigues que tus mensajes queden más bonitos. La pega es que algunos lectores de correo no permiten la visualización de HTML)

IsHTML As Boolean

Está a Falso (False) por defecto pero la tienes que cambiar a Verdadero (True) si quieres enviar HTML en vez de texto simple en el cuerpo de tu mensaje. 

Priority As Integer

Prioridad del mensaje:

1 – Alta

3 – Normal

5 – Baja

Por defecto está a 0 que significa que no se indica prioridad.

Helo As String

Esta cadeba de texto identifica al cliente frente al servidor SMTP. Por defecto es"AspEmail” (y no conviene modificarlo)

ContentTransferEncoding As String

Especifica la codifiación de la cabecera MIME para el cuerpo del mensaje.. Tienes tres opciones:

  • “7bit” (por defecto).
  • “8bit”
  • “quoted-printable”, convierte el cuerpo del mensaje al formato Quoted-Printable especificado en la RFC-2045 (las RFC son donde se indican las especificaciones de Internet)

Esta propiedad es útil cuando se envían mensaje en un idioma distinto al inglés (como el español, por ejemplo).

Esto es una característica premium.

CharSet As String

Especifica los carácteres usados por la cabera MIME. Por defecto "ISO-8859-1"

Esto es una característica premium.

Username As String

Es el Nombre de Usuario.

Debes usar las propiedades Username/Password  si tu servidor SMTP requiere que el cliente le suministre parámetros de autentificación.

Esto es una característica premium.

Password As String

Clave.

Debes usar las propiedades Username/Password  si tu servidor SMTP requiere que el cliente le suministre parámetros de autentificación.

Esto es una característica premium.

Métodos de AspEmail

Method Name

Arguments

Comments

AddAddress

Email As String,
Optional Nombre

Añade una dirección de email a los destinatarios. El nombre del destinatario es opcional. 

AddCC

Email As String,
Optional Nombre

Añade una dirección de email a los destinatarios de copias Cc:. El nombre del destinatario es opcional. 

AddBcc

Email As String,
Optional Name

Muy parecido al anterior pero con Bcc:

AddReplyTo

Email As String,
Optional Name

Muy parecido al anterior pero con Reply-To:

AddAttachment

Path As String

Añadir archivo adjunto. El Path debe indicar la localización absoluta (ejemplo: “c:\temporal\archivo.xls”) dentro del servidor.

AppendBodyFromFile

Path As String

Rellena la propiedad Body con el texto o el HTML de un archivo especificado en Path.

Esto es una característica premium.

Send

Ninguno

Envía el mensaje.

Pueden producir errores por lo que es recomendable usar “On Error Resume Next”

Reset

Ninguno

Limpia todas la lista de direcciones asi como la lista de todos los archivos adjuntos incluidos.

ResetAll

Ninguno

Hace lo mismo que el método Reset pero además pone todas las propiedades a sus valores por defecto.

EncodeHeader

Header as String

Devuelve: String

Codifica una cadena que contenga caracteres ASCII mayors de 127 según las directrices de la RFC 1522. Debes usar este método para codificar el título, el nombre del receptor o el nombre del servidor. Por ejemplo:

MailSubject = Mail.EncodeHeader(“España mola un montón”)

Códigos de error

Error Code

Description

1

Falló la inicialización de Winsock.

2

Falló gethostbyname.

3

Falló la creación del Socket creation.

4

Falló la conexión.

5

Falló al enviar datos.

6

Error devuelto por el servidor SMTP

7

Falló al abrir un fichero.

8

Memoria insuficiente

9

Falló al leer de un fichero.

10

Servidor SMTP no especificado

13

Valor no permitido de la prioridad.

 


 

¿Estas empezando y este articulo es muy complejo para tí?
Empieza por el principio, visita Ejemplos Básicos

Puedes obtener un listado completo de todos los artículos y ejemplos de ASP en http://www.asptutor.com/asp/todoslosarticulos.asp
 

Valora este articulo   Malo Excelente  
255 usuarios han valorado este articulo. Valoracion media:

Nota: Para cualquier consulta u opinión sobre este articulo puedes usar los foros

 

 

AspTutor lo hacemos entre todos ¿Como vas a colaborar hoy?


Google

 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar