[Cascavel-pm] Erro no envio email com attachment ...

Luciano lup em terra.com.br
Sexta Janeiro 31 09:12:53 CST 2003


Oi Márcia,

    A primeira coisa que eu notei errado no seu código é o seguinte:
**$1 = "mhenke em inf.ufrgs.br <mailto:mhenke em inf.ufrgs.br>";**  

Antes do  @ você deve colocar uma barra invertida \, pois assim a Perl 
vai saber que tu quer escapar o caractere @ e não pegar o array @inf.
Então fica: $1="**mhenke\@inf.ufrgs.br <mailto:mhenke em inf.ufrgs.br>";**

Isso vale para todos os outros caracteres especiais, como $, &, % , ...  

Para poupar esse trabalho você pode fazer $1= '**mhenke em inf.ufrgs.br'; 
<mailto:mhenke em inf.ufrgs.br>** , isso vai garantir que tudo é texto, 
nada de referências a funções, variáveis ou métodos.

Serve como dica você usar nomes de variáveis mais intuitivos do que $1, 
$2... isso pode te confundir fácilmente ou outra pessoa que venha a 
trabalhar no teu código.

Espero que isso ajude.

   Um abraço,

            Luciano Greiner



Marcia Henke wrote:



> *
> Estou tentando mandar um email com attach, mas o seguinte script que 
> criei esta dando o seguinte erro :
> Script é: #################
> #!/usr/bin/perl
>  
> use MIME::Lite;
>  
> $0 = "System09.log";
> $1 = "mhenke em inf.ufrgs.br <mailto:mhenke em inf.ufrgs.br>";
> $2 = "smtp.inf.ufrgs.br";
> $3 = "Teste de email com attach.\n";
> $4 = "Em anexo arquivo.\n";
> $5 = 'TEXT';
> $6 = "/home/monitor/logs/2003/System09.log";
> $7 = "marcia em suryatec.com.br <mailto:marcia em suryatec.com.br>";
>  
> Mail_File ($0, $1, $2, $3, $4, $5, $6, $7);
>  
> sub Mail_File {
>     my ($fileName, $myMailAddress, $email_address, $title, 
> $body_message, $fileType, $fileName, $o
> utFileName) = @_;
>     $fileName      = $_[0];   # To attach
>     $myMailAddress = $_[1];   # Your email address / address e-mail 
> should appear from
>     $email_address = $_[2];   # Recipients mail address
>     $title         = $_[3];   # Email title
>     $body_message  = $_[4];   # Text in main part of e-mail
>     $fileType      = $_[5];   # Know whether attachment is 'BINARY' or 
> 'TEXT'
>     $fileName      = $_[6];   # Name of file to attach (including path)
>     $outFileName   = $_[7];   # Name to give e-mail attachment
>  
>     # Create MIME::Lite mail object
>     my $msg = MIME::Lite->new(
>                From     => $myMailAddress,
>                To       => $email_address,
>                Subject  => $title,
>                Type     => 'multipart/mixed',
>                );
>     # Main Body of message
>     $msg->attach(
>                  Type     => 'TEXT',
>                  Data     => $body_message
>                  );
>  
>     # Attach file here
>     $msg->attach(Type        => $fileType,
>                  Path        => $fileName,
>                  Filename    => $outFileName,
>                  Disposition => 'attachment'
>                  );
>     # Send e-mail
>     $msg->send();
> } # end sub Mail_File
> O seguinte erro : ###############
> Modification of a read-only value attempted at ./attach.pl line 6.
>  
> Márcia Henke
> *
>
> ------------------------------------------------------------------------
> Esta mensagem foi verificada pelo E-mail Protegido Terra 
> <http://www.emailprotegido.terra.com.br/>.
> Scan engine: VirusScan / Atualizado em 29/01/2003 / Versão: 1.3.13
> Proteja o seu e-mail Terra: http://www.emailprotegido.terra.com.br/
>




Mais detalhes sobre a lista de discussão Cascavel-pm