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

Ayuda con script hecho en perl....



Hola que tal listeros.

Otra vez molestando...

La vez pasada pedi ayuda ya que quiero mandar a /dev/null todos aquellos e-mails que traigan atachados archivos .exe .com .bat etc.... sin embargo el procmail de mi servidor por alguna razon que no he encontrado NUNCA hace match con las reglas que se le pongan en el .procmailrc, por lo tanto despues de varios dias de preguntar por alla y por aca, me decidi a crear un pequeño script en perl que haga lo que quiero, tengo el siguiente script al que le faltan unas cosillas:

#!/usr/bin/perl
my $intVeces=0;
while(<>)
{
  if (/.*filename=.*(.bat|.exe|.vbs).*/)
{
  $intVeces++;
}
}
if ($intVeces > 0)
{
## Aqui mandaria el e-mail a /dev/null
## la pregunta es como le hago??? }
else
{
## Aqui agregaria al e-mail al archivo correspondiente al usuario, en este caso
## /var/spool/mail/orvux   la pregunta es como le hago??? }

Otra cosilla, cuando en el .forward pongo

|/usr/bin/filtro.pl

el mail se regresa con el siguiente texto:

...
----- The following addresses had permanent fatal errors -----
|/usr/bin/filtro.pl
  (reason: service unavailable)
  (expanded from: <orvux@ipsgroup1.com>)

Reporting-MTA: dns; ipsgroup1.com
Received-From-MTA: DNS; [10.10.10.17]
Arrival-Date: Wed, 11 Jun 2003 18:56:00 -0700

Final-Recipient: RFC822; orvux@ipsgroup1.com
X-Actual-Recipient: X-Unix; |/usr/bin/filtro.pl
Action: failed
Status: 5.5.0
Diagnostic-Code: X-Unix; 69
Last-Attempt-Date: Wed, 11 Jun 2003 18:56:00 -0700


Si quiero que el mail se pase al script que puedo hacer?.... ya que por ejemplo cuando se configura con vacation en el .forward el software de configuracion pone lo siguiente:

\orvux, "|/usr/local/sbin/vacation.pl /home/users/orvux/.vacation_msg orvux"

Donde orvux es el usuario, intente cambiarle la instruccion detras del pipe con
\orvux, "|/usr/local/sbin/filtro.pl"

llega un mail al inbox y me regresa un mensaje con :

----- The following addresses had permanent fatal errors -----
"|/user/local/sbin/filtro.pl"
  (reason: service unavailable)
  (expanded from: <orvux@ipsgroup1.com>)

 ----- Transcript of session follows -----
smrsh: filtro.pl not available for sendmail programs
554 5.0.0 "|/user/local/sbin/filtro.pl"... Service unavailable

------------------------------------------------------------------------

Reporting-MTA: dns; ipsgroup1.com
Received-From-MTA: DNS; [10.10.10.17]
Arrival-Date: Thu, 12 Jun 2003 08:00:46 -0700

Final-Recipient: RFC822; orvux@ipsgroup1.com
Action: expanded (to multi-recipient alias)
Status: 2.0.0
Last-Attempt-Date: Thu, 12 Jun 2003 08:00:46 -0700

Final-Recipient: RFC822; orvux@ipsgroup1.com
X-Actual-Recipient: X-Unix; |/user/local/sbin/filtro.pl
Action: failed
Status: 5.5.0
Diagnostic-Code: X-Unix; 69
Last-Attempt-Date: Thu, 12 Jun 2003 08:00:46 -0700



Que puedo hacer????
Gracias.

OrvUx
Making the Hard...Soft with Linux.





Reply to: