Beat: Warum bei Mailversand redundante Angabe nötig?

Beitrag lesen

Hallo,
beim nachstehenden Programm erhalte ich kein mail zugestellt.

if (!open (MAIL, "|$mail_Prog"))
     {
          # Abbruch
     }
   print MAIL <<EOT1;
From: $mail_from
To: $mail_to
Subject: Neuer Eintrag im Gästebuch

Hier solltest du das Modul Encode verwenden.

use Encode qw/encode decode/;
$header = encode('MIME-Header', "Neuer Eintrag im Gästebuch");

Es wird erwartet, dass der Text bereits in UTF-8 oder iso 8859-1 vorliegt.
Wenn nicht, muss die Angabe vorher noch zusätzlich kodiert werden.

Content-type: text/html

Nein. Bei einer normalen Mail sollte das Format text/plain sein.
Zudem sollte das Encoding angegeben werden.

.....
EOT


>   
> Wenn ich aber im open zusätzlich "$mail\_from" angebe, also  
> ~~~perl
  

>    if (!open (MAIL, "|$mail_Prog $mail_from"))  
> 

so kommt das mail an.
Warum muss "$mail_from" doppelt angegeben werden?

Würdest du mich bitte zuerst aufklären, was in $mail_Prog steht?
Meine Glaskugel ist etwas taub

bei Sendmail hat man typischerweise
open(MAIL, "|usr/sbin/sendmail -oi -t")
   or die("Sendmail unerreichbar $!");
-t besagt, das from wird aus dem folgenden print MAIL entnommen.

mfg Beat

--
><o(((°>           ><o(((°>
   <°)))o><                     ><o(((°>o
Der Valigator leibt diese Fische