Siempre es bueno realizar pruebas atómicas para probar sistemas. Por ejemplo si uso un gran cliente de correo y este no envía, puede ser desde el sistema operativo del cliente, su cliente de correo, el servidor de correos, etc. Finalmente no sabemos a quien es el responsable por la falla. Entonces es mejor hacer pruebas locales de envió, pruebas de conexión, etc. descomponiendo todo el proceso de envió en pequeñas unidades.
Un gran método para saber si el servidor de correo esta funcionando es usar un cliente telnet para realizar un envió. Es simple, podemos ver que nos dice el servidor, podemos verificar la conexion etc. Aca les dejo los pasos para realizar un envió.
Trying smtp.correo.cl
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 fbreveal.com ESMTP Sendmail 8.13.8/8.13.8; Tue, 22 Oct 2013 05:05:59 -0400
HELO yahoo.com
250 tecadmin.net Hello tecadmin.net [127.0.0.1], pleased to meet you
mail from: sender@tecadmin.net
250 2.1.0 sender@tecadmin.net... Sender ok
rcpt to: myemail@ymail.com
250 2.1.5 myemail@ymail.com... Recipient ok
data
354 Enter mail, end with "." on a line by itself
Hey
This is test email only
Thanks
.
250 2.0.0 r9M95xgc014513 Message accepted for delivery
quit
221 2.0.0 fbreveal.com closing connection
Connection closed by foreign host.
Les dejo una explicación paso a paso:
Paso 1: Me conecto al servidor de correo:
Desde una consola hacen un telnet al servidor de correo, vamos a suponer que responde por smtp
El comando es: telnet smtp.correo.cl smtp
Trying smtp.correo.cl
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 fbreveal.com ESMTP Sendmail 8.13.8/8.13.8; Tue, 22 Oct 2013 05:05:59 -0400
Si no responde, se debe probar la conexion, si logramos llegar al servidor, si el puerto responde, etc.
ok, nos contesto, ahora debemos "saludar al servidor".
El comando es: HELO yahoo.com
250 tecadmin.net Hello tecadmin.net [127.0.0.1], pleased to meet you
Nos contesto que reconoce el saludo, seguimos bien
Definimos a quien le enviamos el correo. Es importante respetar los espacios.
El comando es: mail from: sender@tecadmin.net
reconoce la cuenta de correo de destino.
Decimos quien envía el correo.
El comando es: rcpt to: myemail@ymail.com
bien, acepto que yo le estoy escribiendo
Empezamos a escribir el correo, para finalizar la escritura se debe dejar una linea con un . y presionar "ENTER" con eso se le dice que se termino de escribir el texto.
El comando es: data
354 Enter mail, end with "." on a line by itself
Cerramos la conexion con el servidor.
El comando es: quit
221 2.0.0 fbreveal.com closing connection
Connection closed by foreign host.
Se le pueden agregar mas cosas al correo, pero para hacer pruebas de envió con lo anterior es suficiente.
ojala les sirva