¿Quieres saber como enviar correo vía telnet, desde la consola Linux o Windows, conectando con un servidor de SMTP en internet
?
Establecemos una conexión al servidor al puerto 25
$ telnet ip.servidor 25
Si el servidor acepta la petición de conexión, te aparecerá un mensaje parecido a este :
220 aaa.bbb.ccc ESMTP Sendmail 8.7.6/8.7.3; Tue, 3 Feb 1998 16:45:30+0100
Y ahora la forma de crear un mensaje para enviar :
Primero saludar :
HELO una.ip.cualquiera (o dominio)
El servidor puede contestar algo como esto:
250 una.ip.cualquiera Hello una.ip.cualquiera [xxx.xxx.xxx], pleased to meet you
Ahora los siguientes comando , pulsando ‘Enter’ al final de cada línea:
MAIL FROM:
RCPT TO:
DATA
Subject: El tema del correo
A continuación el texto del mensaje.Después del “subject”, hay que hacer dos veces ‘enter’. Los los mensajes deben terminar con un punto en una línea sola.
.
QUIT
Y ya salimos de la conexión del servidor. Y podemos comprobar si hemos recibido el correo, y ver la cabecera de dicho correo nos muestra si informa de la ip de nuestra máquina o no.
Esto es muy útil también para comprobar si un servidor está en OPEN RELAY, cosa no recomendable pues puede ser utilizada como máquina para enviar spam.
+ Información :
http://es.wikipedia.org/wiki/Open_Relay
Hay una solución interesante para hacer esto. Utilizar sendEmail, que es un pequeño cliente de correo por SMTP y por eso podemos configurar o indicarle que servidor queremos que se encargue de enviar o dirigir nuestros email.
La web del proyecto : http://caspian.dotconf.net/menu/Software/SendEmail/
Se encuentra disponible para Linux, BSD, OS X, Windows 98, Windows NT, Windows 2000, & Windows XP, y es muy útil para incluirlo en un script de bash, si necesitamos enviar correo desde nuestro servidor. Es un script en Perl y por eso no necesitamos una instalación compilando. Solo descomprime el archivo y a utilizar. Permite usar servidores SMTP con autentificación.
Si queremos ver la ayuda : $ ./sendEmail –help
Para enviar un mensaje sencillo desde consola :
$ sendEmail -f remite@gmail.com -t fulanito@midominio.net -s servidor_smtp -u “Asunto email” -m “Cuerpo mensaje , saludos! ” -v
Si queremos enviar fichero adjunto :
$ sendEmail -f remite@gmail.com -t fulanito@midominio.net -s servidor_smtp -u “Asunto email” -m “Cuerpo mensaje , saludos! ” -a fichero.zip -v
Es una solución sencilla para servidores Linux en los que no queremos instalar y configurar
un MTA de correo como Sendmail o Exim, etc.
A base de practicar y practicar nos acordamos de forma natural, pero por si tenemos dudas, una pequeña guía para recordar no viene mal.
Con la utilidad ‘tar’ solo empaquetamos los ficheros, no se comprimen, para eso usamos gzip o se puede hacer en un paso como se indica aquí.
* Ficheros tar
Empaquetar: tar -cvf fichero.tar /directorio/a/comprimir/
Desempaquetar: tar -xvf fichero.tar
Ver contenido tar -tf archivo.tar
* Ficheros tar.gz
Comprimir: tar -czfv fichero.tar.gz ficheros
Descomprimir: tar -xzvf fichero.tar.gz
Ver contenido: tar -tzf fichero.tar.gz
Si quieres añadir una contraseña al archivo que se genera con zip, lo hacemos de la siguiente forma :
zip -P contraseña fichero.zip ficheros
* Ficheros zip
Comprimir: zip archivo.zip ficheros
Descomprimir: unzip archivo.zip
Ver contenido: unzip -v archivo.zip
A veces necesitamos enviar a un email un fichero o datos desde nuestro servidor Linux. Aquí dos métodos para hacer esto. Es necesario tener instalado el cliente de correo modo texto ‘Mutt’. Si no está instalado el paquete podemos obtenerlo de los repositorios con Yum o Aptitude, dependiendo de la distribución que tengamos instalada
1 – mutt -s “Cuerpo mensaje” -a /fichero.html myemail@dominio.com < /mailmessage.txt
2 – echo “Cuerpo mensaje” | mutt -s “Asunto ..” -a /path/to/file.tar.gz email@example.com
Más información sobre Mutt : http://es.wikipedia.org/wiki/Mutt