¿Qué es el protocolo SMTP?

SMTP se utiliza para transmitir correo electrónico a través de Internet. El documento RFC821 especifica todos los detalles del protocolo. Pero sólo hay que recordar lo siguiente: los comandos y métodos básicos del protocolo.

El principio de este protocolo es simple. No es más que la computadora cliente enviando comandos al servidor, y luego el servidor devuelve cierta información a la computadora cliente. Los comandos enviados por el cliente y la información devuelta por el servidor son cadenas y no necesita ningún software especial para leerlas. Si observa más de cerca el código fuente del programa de muestra WinsockTerminal, comprenderá esto. Ahora, usemos este programa de muestra para enviarnos un correo electrónico a nosotros mismos.

Ejecute el programa de muestra, haga clic en el botón "Conectar" e introduzca su dirección de correo electrónico en el cuadro de diálogo "Conectar a...". En el cuadro de diálogo, ingrese la dirección de su servidor de correo electrónico y seleccione la opción SMTP. Finalmente presione el botón "Conectar". Si la conexión es exitosa, el control Winsock generará un evento "Conectado" y verá un mensaje de conexión exitosa en la barra de estado. En la ventana de texto principal verá el texto devuelto por el servidor. El texto contiene un código de tres dígitos y una descripción, por ejemplo:

220-ns.cinfo.ruSendmail8.6.12/8.6.9readyatWed, 22Apr199822:54:41 0300

220ESMTPspokenhere

No prestes demasiada atención a estas descripciones. Porque estas descripciones pueden variar de un servidor a otro. Sólo necesitas saber qué significa el código. El código 220 significa que la conexión se estableció correctamente y el servidor está esperando su primer comando.

El primer comando que se pasa al servidor es HELO. El comando incluye un parámetro, el nombre de su buzón.

HELOoleg

Nota: En RFC821, HELO es un comando opcional y puede ignorarlo si el servidor no lo requiere.

Si el comando se ejecuta correctamente, el servidor devolverá un código de respuesta 250. Luego use el comando MAILFROM para decirle al servidor que desea enviar un correo electrónico. El comando toma la dirección de correo electrónico del remitente como parámetro.

MAILFROM: oleg@vbip.com

Después de enviar el comando, si el servidor devuelve una respuesta con el código 250, puede enviar el comando RCPTTO al servidor. Este comando toma la dirección del destinatario como parámetro y le indica al servidor de un vistazo que desea enviar correo a la dirección del destinatario.

RCPTTO: alguien@dominio.com

Si desea enviar un mensaje a varios destinatarios, debe utilizar el comando RCPTTO. Debe utilizar el comando RCPTTO varias veces y cada vez el servidor de comandos devuelve una respuesta con el código 250.

Ahora puedes enviar el cuerpo del correo electrónico al servidor. Utilice el comando DATOS para decirle al servidor que lo que sigue es el cuerpo del correo electrónico. Una vez que reciba una respuesta con el código 354 del servidor, podrá enviar el cuerpo del mensaje. El correo se envía línea por línea, y cada línea termina con un carácter de nueva línea (vbLf en VB) sin retorno de carro. Así que simplemente presiona enter. A continuación se muestra un ejemplo:

Asunto: Mi primer mensaje de correo electrónico.

Primera línea de mensaje.

Segunda línea.

.

Tenga en cuenta que el último carácter de la última línea de arriba es un punto decimal. Esto marca el final del texto. La representación del código VB es vbLfamp "." amp; Una vez que el servidor recibe este indicador, devuelve una respuesta con el código 250 y el número de identificación único del mensaje.

250WAA10568Messageacceptedforlivery

La tarea ha sido completada, puedes continuar enviando el siguiente mensaje o desconectarte del servidor. Para desconectarse del servidor, utilice el comando SALIR. En este caso, el servidor devuelve un código de respuesta 221 y se desconecta.

SALIR

ngji.js">