julia: attachment bei email

hi,

ich versuche gerade mit meinem cgi-programm eine txt-datei als attachment in einer email anzuhängen.

aber irgendwie will das nicht so recht. ich kriege zwar eine mail, aber es ist kein anhang dabei, nur am ende der mail steht der inhalt der datei. kann mir bitte jemand helfen.

so sieht mein quelltext aus:

#!/usr/bin/perl -w

use strict;
use CGI::Carp qw(fatalsToBrowser);
use MIME::Lite;

my $msg = new MIME::Lite;

my $sendmail     = "/usr/sbin/sendmail";
my $from         = "email@email.de";
my $to           = "email@email.de";
my @mail         = "<p><font size=4>Hallo</font></p>";

open(MAIL, "|$sendmail -t") or die $!;

$msg = MIME::Lite->new( From      => $from,
                        To        => $to,
                        Subject   => "ANHANG",
                        Type      => "text/html",
                        Data      => @mail );

$msg->attach( Type      => "text/plain",
              Path      => "../test/datei.txt",
              Encoding  => "base64",
              Filename  => "datei.txt" );

$msg->send;

close(MAIL);

print "Content-type: text/html\n\n";
print "<html><head></head><body>\n";
print "Mail wurde abgeschickt\n";
print "</body></html>\n";

  1. Hi,

    ich versuche gerade mit meinem cgi-programm eine txt-datei als attachment in einer email anzuhängen.
    $msg = MIME::Lite->new( [...]
                            Type      => "text/html",

    Hier muss afaik ein multipart/mixed hin:
    http://search.cpan.org/author/YVES/MIME-Lite-3.01/lib/MIME/Lite.pm#Create_a_multipart_message

    Viele Grüße
    Torsten

    --
    Wäre Stoizismus eine Programmiersprache, würde ich ein Experte sein.
    1. danke,

      ich habe noch ein paar sachen verändert und jetzt geht es endlich.

      1. Könntest Du den Code evnetuell veröffentlichen?
        Vor gleichem Problem stand ich auch schon mal.

        thx matze

        1. hi,

          hier der code:

          use MIME::Lite;

          open(MAIL, "|$sendmail -t") or die $!;

          $msg = MIME::Lite->new(
                           From    =>$from,
                           To      =>$to,
                           Subject =>"Betreff",
                           Type    =>"multipart/mixed"
             );

          $msg->attach(Type     =>"TEXT",
                           Data     =>"Here's the GIF file you wanted"
             );

          $msg->attach(Type        =>"text/plain",
                           Path        =>"../shop/artikel/451201.a.txt",
                           Filename    =>"451201.a.txt",
             Disposition => "attachment"
             );

          $msg->print(\*MAIL);

          close(MAIL);

          1. Vielen dank für den code aber eine Frage noch...
            wie sieht das ganze aus, wenn Ich den Typ nicht kenne.
            PDF Datei oder Word Dokument etc.

            1. hi,

              application/msword    ist für diese "doc dot wrd" also word dokument
              application/pdf       ist für pdf

              1. Hi,

                der Vollständigkeit halber:
                http://selfhtml.teamone.de/diverses/mimetypen.htm#uebersicht

                Viele Grüße
                Torsten

                --
                Wäre Stoizismus eine Programmiersprache, würde ich ein Experte sein.
                1. Einen standard für binary Dateien gibt es nicht??
                  Schliesslich ist mir nicht immer bekannt, welchesn Dateityp ich bekomme.
                  Sei es word zip oder anderes.

                  1. Hi,

                    Einen standard für binary Dateien gibt es nicht??

                    Wenn du mit Standard den MIME-Typ meinst, dann afaik application/octet-stream. Cheatah hat das mal erklärt, steht irgendwo im </archiv/>.

                    Viele Grüße
                    Torsten

                    --
                    Wäre Stoizismus eine Programmiersprache, würde ich ein Experte sein.