DeWitt: Mail-Verarbeitung mit Perl

Hi, möchte via Perl E-Mails verschicken.

Ich habe dazu das Beispiel-Script von selfhtml (http://de.selfhtml.org/cgiperl/sprache/cgitypisch.htm#formmailer) leicht abgewandelt, bekomme jedoch nur eine Fehlermeldung ("Internal Server Error").

Hier der Ausschnitt des Scripts:

my $mailprog = "/usr/lib/sendmail";

Mail-Programm aufrufen

open(MAIL,"|$mailprog -t") || die "Mailprogramm konnte nicht gestartet werden";
#Mailheader
print MAIL "To: ",$sendto,"\n";
print MAIL "From: ",$mailfrom," (",$namefrom,")\n";
print MAIL "Subject: ",$subject,"\n\n";

#Titel
print MAIL "-" x 75 , "\n";
print MAIL " " x 10 , "S4 WEBMAIL\n";
print MAIL " " x 10 , "E-Mail von ",$namefrom," (",$mailfrom,"), > versandt am ",$ptime,"\n";
print MAIL "-" x 75 , "\n\n";

#Mail-Text
print MAIL $text,"\n\n";

Mail-Programm beenden

close(MAIL) || die "Fehler beim Mailversenden!";

Die Adresse des Mailprogramms ist korrekt, sämtliche verwendeten Variablen sind auch definiert. Trotzdem könnte ich mir vorstellen, dass hier der Fehler liegt: Kann es sein, dass die Inhalte der Variablen (bzw. allgemein der Text nach "print MAIL") besonders formattiert werden müssen?

Es wäre natürlich auch sinnvoll, wenn ich Zugriff auf die error.log des Webservers hätte. Leider kann ich diese via telnet beim besten Willen nicht finden.

Ich hoffe auf Lösungsvorschläge bzw auf Tipps, auf was man beim Verarbeiten durch ein Mailprogramm achten muss.

  1. Hi, möchte via Perl E-Mails verschicken.

    Ich habe dazu das Beispiel-Script von selfhtml (http://de.selfhtml.org/cgiperl/sprache/cgitypisch.htm#formmailer) leicht abgewandelt, bekomme jedoch nur eine Fehlermeldung ("Internal Server Error").

    Hy bist du sicher dass dein Problem nicht auf dieser Seite geklärt wird?

    Internal Server Error

    http://de.selfhtml.org/cgiperl/intro/cgipublik.htm

    eventuell verursacht durch falschen Upload Modus
    Binär statt ASCII Modus (?)
    vergessen Dateirechte zu geben
    etc.....
    Der Fehler liegt (noch nicht) im Script, weil das Script noch gar nicht ausgeführt werden konnte.
    (das schliesse ich aus: nur eine Fehlermeldung)

    mfg Beat

    1. Der Fehler liegt (noch nicht) im Script, weil das Script noch gar nicht ausgeführt werden konnte.
      (das schliesse ich aus: nur eine Fehlermeldung)

      Es muss meiner Meinung nach mit dem o.g. Script zu tun haben, da der Fehler nicht kommt, wenn ich den angegebenen Teil aus dem Script entferne.

      http://de.selfhtml.org/cgiperl/intro/cgipublik.htm

      Dort steht ja u.a:

      Stellen Sie sicher, dass Sie in dem Perl-Script keine Anweisungen stehen haben, die auf dem Server-Rechner nicht funktionieren (z.B. Aufruf betriebssystemspezifischer Funktionen, [...]).

      In diese Richtung gehen auch meine Vermutungen. Ich nehme an dass ich das Mail-Programm nicht "korrekt" aufrufe bzw. ausführe. Leider habe ich keine Ahnung, woran das liegen könnte.

      1. Hi,

        Es muss meiner Meinung nach mit dem o.g. Script zu tun haben,

        was hat das mit Meinungen zu tun? Der Server hat Dich in seiner Fehlermeldung darauf hingewiesen, dass Du die Tatsachen im Error-Log erfährst.

        Ich nehme an dass ich das Mail-Programm nicht "korrekt" aufrufe bzw. ausführe.

        Ich frage mich ohnehin, warum Du externe Programme verwendest, anstatt Perl-Module zum Mailversand zu verwenden. Es gibt ja eigentlich genug davon.

        Cheatah

        --
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. was hat das mit Meinungen zu tun? Der Server hat Dich in seiner Fehlermeldung darauf hingewiesen, dass Du die Tatsachen im Error-Log erfährst.

          Hmm, nur leider weiß ich nicht wie ich die Log-Datei aufrufe, ich dachte das hätte ich erwähnt. Wie dem auch sei, das Problem hat sich ja erledigt :).

          1. Hi,

            Hmm, nur leider weiß ich nicht wie ich die Log-Datei aufrufe,

            dies solltest Du dringend in Erfahrung bringen - ggf. durch Providerwechsel. Der Zugriff auf das Error-Log ist beim Einsatz serverseitiger Techniken das wesentlichste Element überhaupt.

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. Ok, inzwischen bin ich einen Schritt weiter. Es liegt an den verwendeten Variablen. Wenn ich statt diesen normalen Text verwende, funktioniert alles problemlos.

    Kann mir an dieser Stelle jemand sagen, wie und ob ich die Variablen irgendwie "versand-tauglich" machen kann?

    1. Hi,

      Kann mir an dieser Stelle jemand sagen, wie und ob ich die Variablen irgendwie "versand-tauglich" machen kann?

      Variablen haben nichts mit Mailversand zu tun. Wenn dieser ohne sie funktioniert, funktioniert er auch mit ihnen; tritt hierbei ein Fehler auf, würde er auch ohne Mailversand auftreten. Ich schlage vor, Du beendest die Ratestunde und tust zunächst einmal das _einzig_ sinnvolle, was man bei einem Internal Server Error machen kann.

      Cheatah

      --
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
  3. Ok, sorry für die "Ratestunde", da war einfach ein saublöder Fehler drin...

    Problem gelöst 8]