Robert: HTML-Email

Hallo, liebes Forum....

hier einige Zeilen Perl.
Diese Funktion soll eine kleine HTML-Email versenden, doch leider... ich bekomme den gesamten HTML-Quellcode zu sehen, aber nicht die Formatierungen... wo steckt hier der Fehler.
sub send_email
{
my $EmailPrg = '/usr/sbin/sendmail -t';
my ($Recipient, $Sender) = @_;
open (MAIL, "|$EmailPrg") or die "!$";
print MAIL "To: $Recipient\n";
print MAIL "From: $Sender\n";
print MAIL "Subject: Hallo\n\n";
print MAIL "Content-type: text/html\n\n";
print MAIL "<html><head></head><body>\n";
print MAIL "<p align="center">Empfänger= $Recipient<br>Absender= $Sender</p>";
print MAIL "\n</body></html>";
close(MAIL) or die "!$";
}

Die Email sieht dann also folgendermaßen aus:
Content-type: text/html\n\n
<html><head></head><body>
<p align="center">Empfänger= XXX<br>Absender= YYY</p>";
</body></html>

Es hat schon mehrmals funktioniert... dann habe ich an dem Script gearbeitet... und nun das :(

Ich danke für jede Hilfe im voraus

Robert

  1. hi!

    print MAIL "Subject: Hallo\n\n";

    Diese Zeile endet mit zwei Zeilenumbrüchen. Zwei Zeilenumbrüche sind
    das Zeichen dafür, dass der Header endet und der Mailtext beginnt.

    print MAIL "Content-type: text/html\n\n";

    Diese Zeile müsste noch in den Header. Nach der "Subject"-Zeile oben
    darfst du also nur einen einzigen Zeilenumbruch machen, dann müsste
    es funktionieren.

    bye, Frank!

  2. Hallo, liebes Forum....

    hallo lieber Robert,

    http://forum.de.selfhtml.org/archiv/2002/4/8982/#m49712

    (will meinen: das Rad wurde bereits erfunden;)

    my $EmailPrg = '/usr/sbin/sendmail -t';
    my ($Recipient, $Sender) = @_;
    open (MAIL, "|$EmailPrg") or die "!$";

    Anmerkung: externe Programme beschicke ich - aus sicherheitsgründen - niemals über Pipe-Open; IPC::Open2 bzw. IPC::Open3 ist zwar ein klein wenig umständlicher zu handhaben, aber der sicherste Weg

    Grüße
       K@rl