Manuel Burghammer: Dateianhang von Server automatisch Senden

ich will mit ner mailingliste automatisch regelmässig mails versenden....das klappt auch schon...

aber mit welchen befehl hänge ich per "sendmail" ein attachment an die mail an...entweder einen ordner der auf dem server liegt oder einzelne files......das wär egal

danke schonmal für die hilfe

  1. aber mit welchen befehl hänge ich per "sendmail" ein attachment an die mail an...

    Das hängt offenbar von dem sendmail-Kommando auf Deiner Server-Plattform ab. Hast Du dessen manpage mal gelesen?

    entweder einen ordner der auf dem server liegt oder einzelne files......das wär egal

    In beiden Fällen würde ich schon aus Gründen der Begrenzung des Datenvolumens versuchen, die Dateien zu einem Archiv zusammenzupacken (je nach Plattform tar & compress oder Zip).
    Das führt Dein Problem dann ganz nebenbei auf ein bereits gelöstes Problem zurück ...

    Mit CGI hat die Frage bisher wenig zu tun ...

    1. Mit CGI hat die Frage bisher wenig zu tun ...

      sorry...ich hab mich wohl falsch ausgedrückt......

      ich rufe per CGI-script "bin/senmail -t" auf

      ich übergebe per

      open (MAIL, "$mailprog") die "Kann $mailprog nicht öffnen!\n";
      print MAIL "From: $in{'address'}\n";
      print MAIL "To:  $recipient\n";
      print MAIL "Subject: Subjekt\n\n";
      print MAIL "Text\n";
      close (MAIL);

      die parameter

      das funtioniert ja auch schon wunderbar........aber ich will einige HTML dateien als attachment mitsenden und wollte wissen ob das dann z.b. mit

      print MAIL "File: Dateiname\n\n";

      möglich ist. es ist ein unix-server, aber ich dachte es gibt hier eine platformübergreifende lösung, weil die ganze sache später auch auf einem eNTe server laufen soll

      ich hoffe ich habe die sache jetzt besser erklärt

      nochmal danke für eure unterstützung

      1. ich rufe per CGI-script "bin/sendmail -t" auf

        Aber das Problem hat nichts damit zu tun, *wer* sendmail aufruft, sondern *wie* es aufgerufen wird - deshalb (SERVER).

        ich übergebe per
        open (MAIL, "$mailprog") die "Kann $mailprog nicht öffnen!\n";
        print MAIL "Subject: Subjekt\n\n";

        ...

        close (MAIL);
        die parameter

        ... aber statt alles in sendmail hineinzupipen könntest Du es wahrscheinlich auch über entsprechende Kommandozeilenparameter übergeben - und die findest Du in der man page.
        Einer davon ist dann auch derjenige, mit dem Du attachments angeben kannst.

        print MAIL "File: Dateiname\n\n";
        möglich ist.

        So wahrscheinlich nicht.

        es ist ein unix-server,

        Das war nach der Beschreibung Deiner Lösung, die eine Pipe verwendet, und dem Namen "sendmail" ziemlich wahrscheinlich.

        aber ich dachte es gibt hier eine plattformübergreifende lösung, weil die ganze sache später auch auf einem eNTe server laufen soll

        Schau Dir mal den CPAN-Modul Mail::Mailer an.
        Ich kopiere mal schnell ein Beispiel hier herein (kann aber nicht konkret sagen, wo mand as attachment hineinhängen würde):

        use Mail::Mailer;

        $mailer = Mail::Mailer->new();
            $mailer->open({ From    => $from_address,
                            To      => $to_address,
                            Subject => $subject,
                          })
                or die "Can't open: $!\n";
            print $mailer $body;
            $mailer->close();

        Es gibt auch noch andere Möglichkeiten, etwa den Modul Mail::Internet bzw. Net::SMTP ... in Perl gibt es immer mehr als einen Weg.