<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
<blockquote type="cite">RTFM:<br>
<br>
exec LIST<br>
exec PROGRAM LIST<br>
The "exec" function executes a system command and never
returns-- use "system" instead of "exec" if you<br>
want it to return. It fails and returns false only if
the command does not exist and it is executed<br>
directly instead of via your system's command shell (see
below).<br>
<br>
[]s,<br>
Russo</blockquote>
<br>
Russo,<br>
<br>
Eu li o manual e já tinha tentado antes do exec() usar o system() de
diversas maneiras mas sem conseguir o efeito desejado. Achava que
justamente por não retornar uma saída ele fosse mais simples. Segue o
código como estava com o system() (seguindo exemplo do próprio perldoc):<br>
<br>
#/usr/bin/perl -w<br>
<br>
use strict;<br>
use warnings;<br>
<br>
my @ping = ("ping" , "-c4" , "192.168.0.222" , " " , "\>" , " " ,
"/dev/null\>2\&1");<br>
my @mailup = ("sendmail" , "-f" , <a class="moz-txt-link-rfc2396E" href="mailto:user\@host.com.br">"user\@host.com.br"</a> , "-t" ,
<a class="moz-txt-link-rfc2396E" href="mailto:user\@host.com.br">"user\@host.com.br"</a> , " " , "\<" , " " ,
"/home/bkpuser/netmailup.txt");<br>
my @maildown = ("sendmail" , "-f" , <a class="moz-txt-link-rfc2396E" href="mailto:user\@host.com.br">"user\@host.com.br"</a> , "-t" ,
<a class="moz-txt-link-rfc2396E" href="mailto:user\@host.com.br">"user\@host.com.br"</a> , " " , "\<" , " " ,
"/home/bkpuser/netmaildown.txt");<br>
<br>
system (@ping);<br>
<br>
if ( $? == 0 ) {<br>
system (@mailup);<br>
} else {<br>
system (@maildown);<br>
}<br>
<br>
Eu tentei escapar todos os caracteres duvidosos, tentei interpolar de
várias maneiras, mas sem sucesso algum. Ele sempre apresenta os
seguintes erros: <br>
<b>sh: 1: command not found</b> ou <b>ping: unknown host ><br>
</b>
<blockquote type="cite">Agustinho,
<br>
<br>
Verifique se o 'script' esteja encontrando o comando 'mail', passe o
caminho completo do
<br>
comando, como por exemplo '/usr/bin/mail', e verifique se está
funcionando na linha de
<br>
comando também.
<br>
<br>
Para não depender da tua máquina, que pode ter outros problemas,
utilize o Mail::Sender,
<br>
segue um exemplo:
<br>
<br>
my $sender = new Mail::Sender { smtp => 'mail.servidor.com.br',
<br>
from => 'Alerta <a
class="moz-txt-link-rfc2396E"
href="mailto:naoresponder@servidor.com.br"><naoresponder@servidor.com.br></a>',
<br>
auth => 'LOGIN',
<br>
authid => '<a
class="moz-txt-link-abbreviated" href="mailto:alerta@servidor.com.br">alerta@servidor.com.br</a>',
<br>
authpwd => 'senha_do_usuario_alerta',
<br>
headers => "MIME-Version:
1.0\r\nContent-type: text/html\r\nContent-Transfer-Encoding: 7bit"
<br>
};
<br>
<br>
if (ref ($sender->MailMsg( { to=> <a
class="moz-txt-link-rfc2396E" href="mailto:voce@servidor.com.br">"voce@servidor.com.br"</a>,
subject => "Titulo", msg => "Mensagem", }) {
<br>
print "Alerta enviado.";
<br>
}
<br>
<br>
Abs,
<br>
-Thiago Rondon
</blockquote>
<br>
Tiago,<br>
<br>
Valeu pela ajuda cara, mas eu já tinha tentando o Mail:Sender (é que eu
acabei colocando o nome dos módulos do debian + libemail-send-perl +).
Mas não tinha entendido direito, com o exemplo que você deu ficou um
pouco mais claro, mais ainda preciso realizar o ping para verificação
do host. :)<br>
<br>
<br>
<blockquote type="cite">Reforço a idéia do Champs. Mesmo que seja mais
rápido mandar emails dessa forma (o que pode não ser o caso) você vai
abrir brechas de segurança.
<br>
<br>
Escrevi um artigo a um bom tempo atrás no <a
class="moz-txt-link-freetext" href="http://www.perl.org.br">http://www.perl.org.br</a>
sobre esse assunto. Dê uma olhada lá.
<br>
<br>
[]'s
<br>
<br>
<span class="moz-txt-tag">-- <br>
</span>Alceu Rodrigues de Freitas Junior
<br>
---
<br>
<a class="moz-txt-link-abbreviated"
href="mailto:glasswalk3r@yahoo.com.br">glasswalk3r@yahoo.com.br</a>
<br>
"when you don't create things, you become defined by your tastes
rather than ability. Your tastes only narrow and exclude people. So
create."
</blockquote>
<br>
Alceu,<br>
<br>
Eu procurei pelos seus artigos (inclusive li alguns para iniciantes -
eu - e achei muitas coisas boas) mas não encontrei especificamente este
que trata sobre emails. Em que caso especificamente você diz que tem
brechas?<br>
<br>
<br>
Mais uma vez obrigado a todos!<br>
<br>
</body>
</html>