[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