Jer: VCard schreiben

Beitrag lesen

Hi!
Habe folgendes Problem: Ich möchte die Daten aus einem Formular via email verschicken und als vcard(outlook) ausgeben.
Habe ein Skript geschrieben, das soweit auch funktioniert, ausser der Tatsache, dass die vcard keinen Inhalt hat. (Fehlermeldung bekomm ich auch keine.

--------
Hier das Skript:

#Formulardaten einlesen

if($ENV{'REQUEST_METHOD'} eq 'GET')
  {
   $Daten = $ENV{'QUERY_STRING'};
  }
else
{
read (STDIN, $daten, $ENV{'CONTENT_LENGTH'});
}
@formularfelder = split (/&/, $daten);
foreach $feld (@formularfelder)
{
($name, $value) = split(/=/, $Feld);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  $value =~ s/<!--(.\n)*-->//g;      
  $Formular[$i] = $name;  
  $i = $i + 1;
  $Formular[$i] = $value;  
$i = $i + 1;
}

#E-Mail versenden

$Mailprogramm = "/usr/lib/sendmail";   # Pfad zu E-Mailprogramm
$MailSubject = "Formluar-Feedback";    # E-Mail Betreff
$Empfaenger = "xy/@xy.de"; # E-Mail Adresse
$SenderName = $Formular[5];      # Absender
$SenderMail = $Formular[17];            # E-Mail Adresse des Absenders

open(MAIL,"$Mailprogramm -t") die;

print MAIL "To: $Empfaenger\n";
print MAIL "From: $SenderMail $SenderName\n";
print MAIL "Subject: $MailSubject\n\n";

$i = 0;
$max = $#Formular;
for($i=0;$i<=$max;$i=$i+2)
{
print MAIL "$Formular[$i]: $Formular[$i+1]\n";
}
close(MAIL);

Vorbereitung für VCARD

$firma  = $Formular[1];
$titel = $Formular[3];
$nname = $Formular[5];
$vname = $Formular[7];
$str = $Formular[9];
$post = $Formular[11];
$ort = $Formular[13];
$land = $Formular[15];
$email = $Formular[17];
$telnr = $Formular[19];
$faxnr = $Formular[21];

VCARD erstellen

open  (VCARD, ">$name.vcf");
print  VCARD "BEGIN:VCARD \n";
print  VCARD "VERSION:2.1 \n";
print  VCARD "N:$vname;$nname;;$titel \n";
print  VCARD "FN:$nname $vname \n";
print  VCARD "ORG:$firma \n";
print  VCARD "TEL;WORK;VOICE:$telnr \n";
print  VCARD "TEL;WORK;FAX:$faxnr \n";
print  VCARD "ADR;WORK;ENCODING=QUOTED-PRINTABLE:;;$str;$ort;;$post;$land \n";
print  VCARD "LABEL;WORK;ENCODING=QUOTED-PRINTABLE:$str=0D=A$ort $post=0D=0A$land \n";
print  VCARD "EMAIL;PREF;INTERNET:$email \n";
print  VCARD "END:VCARD";
close (VCARD);

------
schon mal danke im vorraus!

jer