Linux/Unix Shell Scripting - envio correo a Exchange desde Unix

 
Vista:

envio correo a Exchange desde Unix

Publicado por Cami (4 intervenciones) el 17/03/2009 16:41:19
Buenas tardes:

Estoy enviando correo desde un HP-UX mediante una conexión con telnet a un servidor Exchange. Cuando lo hago en línea de comandos funciona correctamente, pero cuando lo lanzo mediante un script no me funciona. Os mando el script y una depuración para ver si véis algo raro.

Gracias y un saludo.

Script: email.sh
-----------------------------------------
MAILSERVER="IP"
FROM="correo@dominio"
TO="correo@dominio"
msg=`cat "$1"`


# ENVIO EL CORREO

( echo "helo [nombre servidor]" ; echo "MAIL FROM: $FROM" ; echo "RCPT TO: $TO" ;
echo "DATA" ; echo "From: $FROM" ;
echo "To: <$TO>" ;
echo "Subject: $2" ; echo "${msg}" ; echo "." ; echo "quit" ; sleep 5 )
| telnet $MAILSERVER 25
-------------------------------------------

Depuración: email.sh
-------------------------------------------
# sh -x email.sh pepe prueba
+ MAILSERVER=IP
+ FROM=correo@dominio
+ TO=correo@dominio
+ + cat pepe
msg=hola
caracola
+ echo helo nombre servidor
+ echo MAIL FROM: correo@dominio
+ echo RCPT TO: correo@dominio
+ echo DATA
+ echo From: correo@dominio
+ echo To: <correo@dominio>
+ echo Subject: prueba
+ echo hola
caracola
+ echo .
+ echo quit
+ sleep 5
+ telnet IP
Trying...
Connected to IP.
Escape character is '^]'.
220 ****************************************************************************************************************************
250 Servidor.exchange Hello [IP]
250 2.1.0 [email protected] OK
250 2.1.5 correo@dominio
354 Start mail input; end with <CRLF>.<CRLF>
--------------------------> y aquí se queda parado hasta que da un time out
-------------------------------------------------------

PD: He sustituido las cuentas de correo y la IP del servidor.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:envio correo a Exchange desde Unix

Publicado por Cami (4 intervenciones) el 20/03/2009 11:25:48
Ya sé lo que pasa, no le da tiempo a recibir la línea correspondiente después del "DATA", le he puesto un "sleep 5" des´pués del "DATA" y funciona correctamente. Os adjunto el script por si alguien quiere utilizarlo:

# ENVIO EL CORREO

( echo "helo gvcrbd01" ; echo "MAIL FROM: $FROM" ; echo "RCPT TO: $TO" ;
echo "data" ; sleep 5 ;
echo "From: ${FROM}" ; echo "To: ${TO}" ;
echo "Subject: ${2}" ; echo "${msg}" ; echo ; echo "." ; echo "quit" ; sleep 5 )
| telnet ${MAILSERVER} 25
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar