sputnik2002: probleme mit dem versenden eines excelfiles über sendmail

hallo, ich habe ein skript geschrieben welches eine exceldatei mittels Spreadsheet::WriteExcel erstellt und dann per sendmail versendet.

ich verwende für das senden kein modul sondern öffne einen handle mittels
open(SENDMAIL, "|/usr/lib/sendmail -oi -t")
und dann benutze ich print um die daten in die email zu schreiben. anbei der code mit dem ich das excelfile auslese, codiere und versende:

open(FILE,$file) || warn $!;
$content=<FILE>;
close(FILE);

$send_mail .= "Content-type: application/vnd.ms-excel; name="$filename"; type=Unknown\n";
$send_mail .= "Content-transfer-encoding: BASE64\n";
$send_mail .= "Content-disposition: attachment\n";

$content= MIME::Base64::encode($content)
$send_mail .= $content;

open(SENDMAIL, "|/usr/lib/sendmail -oi -t")
or die "Can't fork for sendmail: $!\n";
print SENDMAIL $send_mail;
close(SENDMAIL);

das erstellen des excelfiles (habs auch vor dem versand öffnen können) und das versenden der email klappt wunderbar (habs auch mit ner csv datei ausprobiert). aber wenn dann die email ankommt und ich das excelfile öffnen will bekomme ich die fehlermeldung:

"Auf [Datei] konnte nicht zugegriffen werden. Unter Umständen ist die Datei oder der Speicherplatz der Datei schreibgeschützt, oder der Server, auf dem das Dokument gespeichert ist, reagiert nicht mehr."

ich hoffe mir kann einer von euch helfen...

  1. Hi,

    $send_mail .= "Content-disposition: attachment\n";
    $content= MIME::Base64::encode($content)
    $send_mail .= $content;

    Du bist Dir im Klaren darüber, dass ein Header durch eine Leerzeile vom Body abgetrennt wird?

    ich hoffe mir kann einer von euch helfen...

    Warum benutzt Du eigentlich nicht MIME::Lite?

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes