Configuración

Tras instalar el servidor SMTP en el apartado anterior, en éste procederemos a realizar una configuración elemental del mismo para lograr que realice la función para lo hemos instalado, es decir, permitir el envío de los datos de formularios web por correo electrónico.

Actualmente el interfaz de administración del servidor IIS 7.0 no soporta la administración del servidor SMTP de Windows Server 2008, así pues con el servidor SMTP se instala automáticamente el interfaz de administración del servidor IIS 6.0, mediante el cual deberemos llevar a cabo la gestión y administración del servidor SMTP instalado.

Según lo comentado en el párrafo anterior, para configurar el servidor SMTP, deberemos ejecutar el Administrador de Internet Information Services (IIS) 6.0 desde las Herramientas administrativas, pasando a ser mostrada como resultado de dicha acción la siguiente ventana, en la que pulsaremos con el botón derecho del ratón sobre el servidor [SMTP Virtual Server #1], eligiendo la opción Propiedades en el desplegable mostrado, tal y como vemos en la imagen inferior.

 

 

Como resultado de la acción anterior pasará a ser mostrada la siguiente ventana, en la que nos situaremos sobre la pestaña Acceso, para pulsar a continuación sobre el botón Retransmisión del apartado Restricciones de Retransmisión en dicha ventana.

 

 

A continuación se nos presentará la siguiente ventana, en la que pulsaremos directamente sobre el botón Agregar para indicar los equipos a los que permitiremos reenviar correo a través del servidor "SMTP" que acabamos de instalar.

 

 

En la siguiente ventana mostrada activaremos el radio botón Un único equipo, especificando posteriormente en la caja asociada a dicha opción, la dirección IP del interfaz de red LAN del equipo "SERVIDOR", 192.168.0.220 en nuestro caso, para finalmente pulsar en ella sobre el botón Aceptar.

 

 

De vuelta en la ventana Restricciones de retransmisión, confirmaremos que ya se ha incluido la dirección 192.168.1.220 entre las que tienen permiso concedido para reenviar correos electrónicos desde el servidor SMTP instalado en el equipo "SERVIDOR". Cerraremos dicha ventana pulsando directamente en ella sobre el botón Aceptar.

 

 

Iremos cerrando tras ello el resto de ventanas que tuviéramos abiertas debido a la configuración realizada anteriormente, pulsando sobre sus respectivos botones Aceptar.

A partir de este instante ya podríamos enviar el contenido de cualquier formulario web que desarrollaramos a la cuenta de correo deseada, mediante el servidor SMTP instalado.

Para probar el correcto funcionamiento de la configuración realizada, utilizaremos dos scripts desarrollados en ASP y PHP respectivamente que crearemos a continuación, pero antes de ello, aun deberemos realizar una configuración adicional para que pueda ser ejecutado correctamente el script que desarrollaremos en ASP (el script PHP que detallaremos a continuación en este mismo apartado no precisa de ningún complemento adicional para funcionar correctamente), y ésta consiste en instalar el complemento AspEmail, que en el momento de elaborar esta documentación podía ser descargado desde la dirección URL http://www.aspemail.com/download.html.

El complemento AspEmail además de la funcionalidad para la que lo instalaremos en nuestro equipo "SERVIDOR", permite funcionalidades adicionales que dejarán de funcionar al cabo de 30 días si no introdujéramos en su proceso de instalación una clave de registro válida, si bien como indicamos en nuestro caso no tendrá importancia ninguna, pues dicha restricción no afectará a la funcionalidad que nosotros utilizaremos de dicho componente, permitir el envío de correo electrónico desde un formulario web desarrollado en el lenguaje de script ASP.

Una vez que hayamos descargado el fichero aspexmail.exe de instalación de AspEmail, lo copiaremos en el Escritorio del equipo "SERVIDOR", haciendo a continuación doble clic sobre el mismo para dar comienzo al proceso de instalación de la aplicación, momento en el que se nos muestra la siguiente ventana en la que pulsaremos sobre el botón I agree para indicar que aceptamos los términos del contrato de licencia.

 

 

A continuación deberemos indicar la ruta donde será instalado el complemento AspEmail; en nuestro caso utilizaremos la ruta que por defecto nos ofrecerá el asistente, de modo que pulsaremos directamente sobre el botón Next en la ventana de la imagen inferior.

 

 

En la siguiente ventana el asistente nos ofrecerá la posibilidad de introducir una clave de registro para el componente que estamos instalando, a fin de no tener ciertas limitaciones en las funcionalidades que ofrece el componente, si bien en nuestro caso pulsaremos directamente en dicha ventana sobre el botón Next.

 

 

En la siguiente ventana el asistente de instalación nos informará de que está listo para dar comienzo a la misma, así pues pulsaremos directamente en dicha ventana sobre el botón Install.

 

 

En la ventana de la imagen superior se nos mostrará un botón que nos ofrece la posibilidad de reiniciar IIS y reinstalar el producto AspEmail si es que ya estuviera instalado, pero en nuestro caso, dado que no tenemos instalada ninguna versión anterior del producto AspEmail, no tendremos necesidad de pulsar sobre dicho botón.

Una vez finalizado el proceso de instalación de AspEmail pasará a ser mostrada la siguiente ventana, en la cual desactivaremos la casilla Open the AspEmail User Manual, tras lo cual pulsaremos sobre el botón Finish en dicha ventana para dar por concluido el proceso de instalación del componente AspEmail.

 

 

Una vez instalado el componente, eliminaremos el fichero aspemail.exe del Escritorio del equipo "SERVIDOR" que hemos utilizado para instalar AspEmail.

Tras instalar el componente AspEmail deberemos realizar una configuración mínima del mismo para que realice la función que le encomendaremos, para lo cual lanzaremos el Panel de Control desde el equipo "SERVIDOR", y a continuación haremos doble clic sobre EmailAgent, la herramienta de configuración del componente instalado.

Como resultado de la acción anterior pasará a ser mostrada la siguiente ventana, en la cual nos situaremos sobre la pestaña SMTP, activando a continuación el radio botón Relay through, y tras ello tecleando en la caja de texto correspondiente al apartado "Host" la cadena localhost, dejando en la caja de texto correspondiente al apartado "Port" el valor 25, de modo que cuando la ventana en cuestión presente el aspecto mostrado en la imagen inferior, pulsaremos en ella sobre el botón Aplicar.

 

 

Tras ello nos situaremos sobre la pestaña General en la ventana de la imagen superior, que en este instante presentará el siguiente aspecto con el icono del semáforo en color rojo, lo cual nos indicará que el componente AspEmail actualmente no se está ejecutando, así pues pulsaremos en dicha ventana sobre el botón Go para proceder a ejecutarlo.

 

 

Tras unos breves instantes comprobaremos que el icono del semáforo cambiará su color a verde, momento en el cual el componente se encontrará disponible para ser utilizado, y en el que pulsaremos en dicha ventana sobre el botón Aceptar.

 

 

Una vez realizada la configuración anterior, sí podríamos ejecutar un script ASP para enviar el contenido de un formulario web por email, gracias al componente AspEmail que acabamos de instlar y configurar.

Para comprobar que es viable el envío del contenido de formularios desarrollados en ASP y PHP por correo electrónico a través del servidor SMTP del servidor IIS, procederemos del siguiente modo.

En primer lugar nos autenticaremos en un equipo ciente del dominio con las credenciales del dominio del usuario "Javier" del dominio "micentro.edu", y una vez en sesión en el equipo cliente, el profesor Javier creará con el Bloc de notas un fichero de texto con el siguiente contenido:

<%
' dirección del servidor SMTP del servidor Windows Server 2008
strHost = "servidor.micentro.edu"
If Request("Send") <> "" Then
Set Mail = Server.CreateObject("Persits.MailSender")
Mail.Host = strHost
' dirección del remitente
Mail.From = (Request("From"))
' opcional, nombre del remitente
Mail.FromName = (Request("FromName"))
' dirección del destinatario (usuario al que destinamos el mensaje)
Mail.AddAddress Request("To")
' asunto del mensaje
Mail.Subject = (Request("Subject"))
' cuerpo del mensaje
Mail.Body = Request("Body")
Mail.ContentTransferEncoding = "Quoted-Printable"
strErr = ""
bSuccess = False
' control de errores
On Error Resume Next
' enviar mensaje
Mail.Send
' si ocurre un error
If Err <> 0 Then
strErr = Err.Description
else
bSuccess = True
End If
End If
%>

<html>
<head>
<title>Prueba de envío de formulario ASP por eMail</title>
</head>
<body>

<font size="4" face="Arial, Helvetica"><b>Prueba de envío de formulario ASP por eMail</b></font><br>

<hr size="1">

<p><b>Formulario de envío de sugerencias desde un script ASP:</b></p>

<% If strErr <> "" Then %>
<h4><font color="#FF0000">Ha ocurrido un error: <em><% = strErr %></em></font></h4>
<% End If %>

<% If bSuccess Then %>
<h4><font color="#00A000">¡Enhorabuena! El mensaje se ha enviado correctamente a
<% = Request("To") %>.</font></h4>
<% End If %>

<form action="ASPpruebaEmail.asp" method="post">
<table border="0" width="80%" cellspacing="0" cellpadding="2" bgcolor="#E0E0E0">
<tr>
<td align="right"><b>De (dirección del remitente):</b></td>
<td><input type="text" name="From" size=50></td>
</tr>
<tr>
<td align="right"><b>Nombre remitente (opcional):</b></td>
<td><input type="text" name="FromName" size=50></td>
</tr>
<tr>
<td align="right"><b>Para (dirección del destinatario):</b></td>
<td><input type="text" value="javivega@telepolis.com" disabled="disabled" size=50></td>
<input type="hidden" name="To" value="javivega@telepolis.com">
</tr>

<tr>
<td align="right"><b>Asunto:</b></td>
<td><input type="text" name="Subject" size=50></td>
</tr>
<tr>
<td align="right" valign="top"><b>Cuerpo del mensaje:</b></td>
<td><textarea cols="38" rows="10" name="Body"></textarea></td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" name="Send" value="Enviar Mensaje"></td>
</tr>
</table>
</form>

</body>
</html>

Almacenaremos el fichero creado en el Escritorio del equipo cliente con el nombre ASPpruebaEmail.asp, y a continuación lanzaremos el navegador de dicho equipo cliente tecleando en su barra de direcciones la URL ftp://Profesores|Javier@servidor.micentro.edu, para conectarnos por FTP al equipo "SERVIDOR" con las credenciales del usuario Javier.

 

 

A continuación el servidor FTP nos pedirá la contraseña correspondiente al usuario Javier para el acceso FTP al directorio virtual Profesores, así pues se la suministraremos convenientemente, y tras ello pulsaremos sobre el botón Iniciar sesión, tal y como vemos en la imagen siguiente.

 

 

Una vez autenticados se nos mostrará la siguiente ventana, en la cual tan sólo podremos acceder al contenido de la carpeta Javier, así pues haremos doble clic sobre ella.

 

 

A continuación haremos doble clic sobre la carpeta Javier en la ventana de la imagen superior, y luego moveremos el fichero ASPpruebaEmail.asp del Escritorio del equipo cliente a la carpeta Javier del directorio virtual FTP Profesores, tal y como vemos en la ventana de la imagen inferior.

 

 

A partir de este instante, cualquier usuario que acceda desde el navegador de un equipo cliente a la dirección URL http://www.micentro.edu/Profesores/Javier/ASPpruebaEmail.asp, visualizará el siguiente formulario, que rellenará convenientemente, tras lo cual pulsará sobre el botón Enviar Mensaje.

 

 

Si todo transcurre con normalidad, el contenido del formulario será enviado como un correo electrónico a la dirección de correo que hayamos especificado en el formulario web correspondiente, utilizando para ello el servidor SMTP instalado anteriormente en el equipo "SERVIDOR".

 

 

Si accediéramos a continuación a descargar la cuenta de correo electrónico receptora del contenido del formulario web enviado, podríamos comprobar que el email correspondiente habrá llegado sin mayores contratiempos.

 

 

Tras comprobar el correcto por correo electrónico envío del contenido del formulario web desarrollado en ASP, podríamos crear otro script en PHP que realizase la misma función.

Así pues, el profesor Javier creará con el Bloc de notas un fichero de texto con el siguiente contenido:

<html>
<head>
<title>Prueba de envío de formulario PHP por eMail</title>
</head>
<body>
<?php
// Si se ha cubierto y enviado el formulario lo procesamos
if (!isset($_POST["submit"]))
{
$accion = '';
}
else
{
$accion = $_POST["submit"];
}
if ($accion == 'Enviar Mensaje')
{
// Dirección de correo electrónico a la que se remitirá el contenido del formulario
$to = $_POST["to"];
// Asunto del correo
$subject = $_POST["subject"];
// Contenido del mensaje. Ponemos delante el remitente
$message = $_POST["nombre"]." (".$_POST["email"].")\n\n".$_POST["comentarios"]."\n";
// Cabecera del mensaje. No se verá, pero es necesario para que nos funcione todo bien
$headers = "From: ".$_POST["nombre"]."\nTo: Centro\nReply-To: ".$_POST["email"];
// Envío del mensaje
if (mail($to, $subject, $message, $headers))
{
// Ha funcionado
print "<b><font color=\"#00A000\">¡Enhorabuena! El mensaje se ha enviado correctamente a $to.</font></b>";
}
else
{
// No ha funcionado
print" <b><font color=\"#FF0000\">Ha ocurrido un error.</font></b>";
}
print "<p><b><a href=javascript:history.back()>Volver</a></b></p>";
}
// Si no se ha procesado el formulario es que aún no lo hemos
// presentado, así que hagámoslo
else
{
?>
<font size="4" face="Arial, Helvetica"><b>Prueba de envío de formulario PHP por eMail</b></font><br>
<hr size="1">
<p><b>Formulario de envío de sugerencias desde un script PHP:</b></p>
<form action="PHPpruebaEmail.php" method="post">
<table border="0" width="80%" cellspacing="0" cellpadding="2" bgcolor="#E0E0E0">
<tr>
<td align="right"><b>De (dirección del remitente):</b></td>
<td><input type="text" name="email" size="50"></td>
</tr>
<tr>
<td align="right"><b>Nombre remitente (opcional):</b></td>
<td><input type="text" name="nombre" size="50"></td>
</tr>
<tr>
<td align="right"><b>Para (dirección del destinatario):</b></td>
<td><input type="text" value="javivega@telepolis.com" disabled="disabled" size=50></td>
<input type="hidden" name="to" value="javivega@telepolis.com">
</tr>
<tr>
<td align="right"><b>Asunto:</b></td>
<td><input type="text" name="subject" size="50"></td>
</tr>
<tr>
<td align="right" valign="top"><b>Cuerpo del mensaje:</b></td>
<td><textarea cols="38" rows="10" name="comentarios"></textarea></td>
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" name="submit" value="Enviar Mensaje"></td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>

Almacenaremos el fichero creado en el Escritorio del equipo cliente con el nombre PHPpruebaEmail.php, y a continuación lanzaremos el navegador de dicho equipo cliente tecleando en su barra de direcciones la URL ftp://Profesores|Javier@servidor.micentro.edu, para conectarnos por FTP al equipo "SERVIDOR" con las credenciales del usuario Javier.

 

 

A continuación el servidor FTP nos pedirá la contraseña correspondiente al usuario Javier para el acceso FTP al directorio virtual Profesores, así pues se la suministraremos convenientemente, y tras ello pulsaremos sobre el botón Iniciar sesión, tal y como vemos en la imagen siguiente.

 

 

Una vez autenticados se nos mostrará la siguiente ventana, en la cual tan sólo podremos acceder al contenido de la carpeta Javier, así pues haremos doble clic sobre ella.

 

 

A continuación haremos doble clic sobre la carpeta Javier en la ventana de la imagen superior, y luego moveremos el fichero PHPpruebaEmail.php del Escritorio del equipo cliente a la carpeta Javier del directorio virtual FTP Profesores, tal y como vemos en la ventana de la imagen inferior.

 

 

A partir de este instante, cualquier usuario que acceda desde el navegador de un equipo cliente a la dirección URL http://www.micentro.edu/Profesores/Javier/PHPpruebaEmail.php, visualizará el siguiente formulario, que rellenará convenientemente, tras lo cual pulsará sobre el botón Enviar Mensaje.

 

 

Si todo transcurre con normalidad, el contenido del formulario será enviado como un correo electrónico a la dirección de correo que hayamos especificado en el formulario web correspondiente, utilizando para ello el servidor SMTP instalado anteriormente en el equipo "SERVIDOR".

 

 

Si accediéramos a continuación a descargar la cuenta de correo electrónico receptora del contenido del formulario web enviado, podríamos comprobar que el email correspondiente habrá llegado sin mayores contratiempos.

 

 

Llegados a este punto daremos por concluido este apartado.

 

Icono IDevice

Actividad 1

Indica el puerto en el que se escucha por defecto el tráfico SMTP.