[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Reenviar correo a otro SMTP para que lo distribuya él



|| ¿Sabéis si existe algún programa que haga EXACTAMENTE lo que busco? pongo
|| otro ejemplo para dejar bien claro lo que necesito:
||
|| - Abro mi Kmail y creo un correo (pongo remitente, destinatario, asunto y
|| cuerpo). En vez de enviar el correo lo guardo en "Borrador".
|| - Abro una consola y voy a la carpeta de mi HOME donde Kmail guarda los
|| borradores.
|| - Resulta que el borrador se llama 1132590085.5963.Yjj4n.
|| - Uso ese programa que necesito (llamémosle PROGRAMA) de la siguiente
|| forma: PROGRAMA 1132590085.5963.Yjj4n --server smtp.isp.com
|| de tal forma que NO tengo que poner manualmente el destinatario ni el
|| remitente porque PROGRAMA los extrae del fichero. Además con la opción
|| "--server" le digo que SMTP debe usar (para que no use el SMTP de mi
|| máquina, que es lo que quiero evitar).


Bueno, he tomado una decisión: voy a hacer un script que lea los datos "From", 
"To", "CC" y "BCC" del archivo de texto que contiene el correo generado por 
algún cliente de correo. Los voy a meter variables y voy a ejecutar esto, que 
por las pruebas que he hecho funciona:

cat correo.txt | sendEmail -f $FROM -t $TO -cc $CC -bcc $BCC -o 
message-format=raw -s smtp.isp.net 

De esta forma creo que puedo resolver mi problema, pero me encuentro con un 
problemilla al extraer dichos campos del archivo de texto. Examinando correos 
veo que suelen aparecer de esta forma (fijándome por ejemplo en el campo 
"To:"):

  To: =?iso-8859-1?Q?'I=F1aki'?= <ibc2@euskalnet.net>, prueba@euskalnet.net

Entiendo que primero debería quedarme con todo lo que venga detrás de "To:" y 
meterlo en una variable:

  cat correo.txt | grep -i -m 1 "To:" | cut -d" " -f2-

-i             para que no distinga entre mayúsculas y minúsculas.
- m 1       para que se quede con la primera aparción de "To:" (por si acaso).
-f2-          para que "cut" se quede con todos los campos a partir del 2º.


Así obtendría esto:
#  cat kaka | grep -i -m 1 "To:" | cut -d" " -f2-
=?iso-8859-1?Q?'I=F1aki'?= <ibc2@euskalnet.net>, prueba@euskalnet.net


Eso se supone que lo debería haber metido en una variable y ahora tocaría 
quitar toda la "mierda":
- todos los campos que no tengan arroba (el primero por ejemplo).
- las comas.
- los signos < y > porque "sendemail" no los traga.

¿A alguien se lo ocurre algo más que deba considerar al limpiar estos campos?

Bueno, pues me voy a poner manos a la obra para crear este script. Cuando lo 
acabe (y funcione) lo pegaré aquí por si le interesa a alguien el rollito 
este.

Saludos.






-- 
que a mí ni me va ni me viene... pero por comentar...



Reply to: