Max: Sendmail aufruf im HTML Format (Mail mit HTML Inhalten) ???

Hallo,
Ich habe einen Form Mailer in Perl, zum versenden von Formularinhalten, geht auch wunderbar. Aber es geht nicht das die Email HTML Code enthält dieser wird dann verhindert d.h. "<" wird zu "&glt;" usw.

Quelltextausschnitt:
--------------------------------------------------------------
open(MAIL,"|$Sendmail_Prog -t");
print MAIL "To: $mailto\n";
print MAIL "Subject: $subject\n\n";
print MAIL "$mailtext\n";
close(MAIL);
--------------------------------------------------------------

Meine Frage hängt das an dem Aufruf von Sendmail das die Daten
nur als Text versendet werden und nicht als html. (-t) ???
2. Frage wie muß der aufruf lauten das die Mail in Html form versand wird ???

Bin für jede Hilfe Dankbar.

  1. Halihallo Max

    Ich habe einen Form Mailer in Perl, zum versenden von Formularinhalten, geht auch wunderbar. Aber es geht nicht das die Email HTML Code enthält dieser wird dann verhindert d.h. "<" wird zu "&glt;" usw.

    Unterbinde diese Transformation.

    open(MAIL,"|$Sendmail_Prog -t");

    || die "Konnte sendmail nicht öffnen: $!";

    print MAIL "To: $mailto\n";
    print MAIL "Subject: $subject\n\n";

    Du musst dem Mail-Client sagen, welchen MIME-Typen er erhält. Im Falle von Textinhalt
    ist dies print MAIL "Content-Type: text/plain\n", im Falle von HTML
    "print MAIL "Content-Type: text/html\n".

    Meine Frage hängt das an dem Aufruf von Sendmail das die Daten
    nur als Text versendet werden und nicht als html. (-t) ???

    sendmail interessiert den Inhalt der E-Mail keine Bohne. Einzig und allein der Client
    könnte ein Interesse daran haben und diese Information gibst du ihm über den
    Content-Type - Header.

    1. Frage wie muß der aufruf lauten das die Mail in Html form versand wird ???

    Nicht Aufruf, Header der E-Mail!

    ---

    Zudem ist die Verwendung von MIME::Entity und Net::SMTP zu empfehlen.

    Viele Grüsse

    Philipp

    --
    RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
    Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
    1. "print MAIL "Content-Type: text/html\n".

      Funktioniert darauf bin ich nicht gekommen.

      Vielen Dank für die Professionelle Hifle.

      Tschüss Max

    2. Hi Philipp!

      Zudem ist die Verwendung von MIME::Entity und Net::SMTP zu empfehlen.

      Warum? Interessiert mich wirklich, weil ich eigentlich auch lieber solche Dinge "zu Fuß" mache. Aber kann ja sein, daß die entsprechenden Module wirklich Vorteile haben. Aber welche?

      Gruß
      csx

      1. Hi,

        Zudem ist die Verwendung von MIME::Entity und Net::SMTP zu empfehlen.
        Warum? Interessiert mich wirklich, weil ich eigentlich auch lieber solche Dinge "zu Fuß" mache. Aber kann ja sein, daß die entsprechenden Module wirklich Vorteile haben. Aber welche?

        Net::SMTP vereinfacht dir den direkten Zugriff auf deinen SMTP-Server. Zusätzlich würde ich noch Mail::POP3Client empfehlen, das ist recht komfortabel. Vereinfacht stellst du mit Mail::POP3Client eine Verbindung zu deinem Mailserver her, danach kannst du mit Net::SMTP deine Mails versenden (http://www.thomas-fahle.de/pub/perl/Mail_and_News/SMTP_over_POP.html#wie). MIME::Entity brauchst du bspw., um deine eingehenden Mails komfortabel verarbeiten zu können (Header-Analyse, Ausgabe von Attachments etc.)

        Viele Grüße
        Torsten

        1. Hi!

          Net::SMTP vereinfacht dir den direkten Zugriff auf deinen SMTP-Server. Zusätzlich würde ich noch Mail::POP3Client empfehlen, das ist recht komfortabel. Vereinfacht stellst du mit Mail::POP3Client eine Verbindung zu deinem Mailserver her, danach kannst du mit Net::SMTP deine Mails versenden (http://www.thomas-fahle.de/pub/perl/Mail_and_News/SMTP_over_POP.html#wie). MIME::Entity brauchst du bspw., um deine eingehenden Mails komfortabel verarbeiten zu können (Header-Analyse, Ausgabe von Attachments etc.)

          Ok, klar, da hast du recht. Aber bei sowas simplem wie "eine mail verschicken", dachte ich. Da brauch ich ja normalerwese kein POP-before-SMTP oder sowas, weil die mail ja von localhost aus abgeschickt wird und somit das Relaying auch ohne Authentifizierung erfolgt. Wenn man kompliziertere Sachen machen will, da geb ich dir Recht, sind die Module natürlich (fast) unverzichtbar.

          1. Halihallo csx

            Ok, klar, da hast du recht. Aber bei sowas simplem wie "eine mail verschicken", dachte ich. Da brauch ich ja normalerwese kein POP-before-SMTP oder sowas, weil die mail ja von localhost aus abgeschickt wird und somit das Relaying auch ohne Authentifizierung erfolgt. Wenn man kompliziertere Sachen machen will, da geb ich dir Recht, sind die Module natürlich (fast) unverzichtbar.

            Ich finde es auch bei kleinen Mails sinnvoll. Man macht weniger Fehler, da die
            Generierung des Mails z.B. vom Modul abgenommen wird und es ist ein quasistandardisiertes
            und plattformunabhängiges Vorgehen.
            Neben den von Torsten genannten Vorteilen liessen sich da noch einige, wirklich einige
            Vorteile von der objektorientierten Programmierung aufzählen. Wiederverwendbarkeit des
            Codes um ein wesentlicher zu nennen.

            Viele Grüsse

            Philipp

            --
            RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
            Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
  2. Hi,

    Ich habe einen Form Mailer in Perl, zum versenden von Formularinhalten, geht auch wunderbar. Aber es geht nicht das die Email HTML Code enthält dieser wird dann verhindert d.h. "<" wird zu "&glt;" usw.

    dann macht Dein Script anderswo etwas falsch.

    Meine Frage hängt das an dem Aufruf von Sendmail das die Daten
    nur als Text versendet werden und nicht als html. (-t) ???

    Nein, mit dem Format der von Dir an sendmail gesendeten Daten. Was der -t Schalter macht, erfährst Du in der Doku zu sendmail (Unix: man sendmail).

    1. Frage wie muß der aufruf lauten das die Mail in Html form versand wird ???

    Warum suchst Du danach nicht im Archiv?

    Cheatah

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