perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 32
Click for quality!




08.02.2012 / 22:37

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  CGI: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragCGI Form Email => Mail formatieren
Seitenanfang
Hallo,

ich habe ein Formular in meiner Website.
Dieses Formular hat ungefähr 50 Felder.
Damit die Werte von den Feldern in der Email (die beim versenden ankommt) herrausstechen, möchte ich diese gerne formatieren können. Z.B. Fett und rot machen!

Hab noch nie etwas mit CGI gemacht.
Hat jemand eine Codebeispiel das ich evtl. anpassen könnte?

Hier ist ein Code aus dem Internet:

##############################################
read(STDIN, $formbuffer, $ENV{'CONTENT_LENGTH'});
@formpairs = split(/&/, $formbuffer);
foreach $formpair (@formpairs) {
($formname, $formvalue) = split(/=/, $formpair);
$formvalue =~ tr/+/ /;
$formvalue =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$formvalue =~ s/<([^>]|\n)*>//g;
if ($FORM{$formname}) { $FORM{$formname} = $FORM{$formname}.",".$formvalue; }
else { $FORM{$formname} = $formvalue; }
}

foreach $require (split(/\,/,$FORM{'require'})) {
if ($require eq "email" || $require eq "to") {
unless ($FORM{$require}=~ /\@/ && $FORM{$require}=~ /\./) {
$error .= "Error in $require.<BR>";
}
}
unless ($FORM{$require}) {
$error .= "Missing $require.<BR>";
}
}

unless ($FORM{'sendpage'}) {
$error .= "Missing confirmation page url<BR>";
}

if ($error) {
print "Content-type: text/html\n\n";
print qq(<CENTER><FONT COLOR="#000000"><B>Error</B><BR>-------------------------<BR>$error</FONT></CENTER>);
exit;
}

if ($FORM{'yourname'}) {
$yeshow = qq(
From, $FORM{'yourname'}
);
}
open (MAIL, "|$sendmail_location -t") || die "Can't open $sendmail_location!\n";
print MAIL "From: $FORM{'yourname'} <$FORM{'email'}>\n";
print MAIL "To: $FORM{'to'}\n";
print MAIL "Subject: $FORM{'subject'}\n\n";
print MAIL <<EOF;
$yeshow

$FORM{'message'}

##############################################

Kann ich diesen verwenden? und evtl. anpassen?

Bin für jede Hilfe dankbar,

Grüße

Silke

Datum: 22.09.2005-12:07

Beitragre: CGI Form Email => Mail formatieren
Seitenanfang
Hi Silke,

zuerstmal müsstest Du die mail als HTML Mail oder als RTF Mail verschicken, das das Skript hier nur plaintext generiert.

Das ist aber etwas umfangreicher.

Ich mag das Skript deswegen nicht besonders, da es das CGI Modul von Perl nicht benutzt.

Wenn Du bisher keine Ahnung mit CGI hast, kann ich Dir das Modul nur empfehlen, denn es macht CGI insgesamt viel einfacher und weniger kryptisch.

Nun zu Deinem Problem:
Am Besten benutzt Du sowas wie MIME::Lite (http://search.cpan.org/~yves/MIME-Lite-3.01/lib/MIME/Lite.pm) um Deine (HTML-)Mail zu generieren.

Gruss,
Sven

PS: Viele Leute mögen HTML mails nicht und sie sind auch potentiell unsicher. Eine saubere Strukturierung der Ausgabe macht auch eine Nur-Text Mail übersichtlich und gut lesbar...

Datum: 22.09.2005-12:28

Beitragre: CGI Form Email => Mail formatieren
Seitenanfang
Danke für Deinen Ratschlag, gibt es dafür ein Beispiel-script? Ohne das wird es zu schwierig für mich.

Datum: 22.09.2005-12:33

Beitragre: CGI Form Email => Mail formatieren
Seitenanfang
in dem Link sind schon Beispiele drin.

ansonsten hilft google. Suche nach "MIME::Lite examples" oder so oder auch nach "cgi html mail"

Datum: 22.09.2005-13:00

-






-
-