WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 03.09.2001, 18:24   #1
Who-T
Elite
 
Registriert seit: 01.08.2000
Beiträge: 1.395


Who-T eine Nachricht über ICQ schicken
Standard perl-mailversand

ich hätt eine bitte an alle programmierer hier

ich bräucht ein script, dass unter übergabe von namen, mailadresse, text und subject ein mail versendet an diese mailadresse.

ich hab zwar ein script vorliegen, allerdings ist dies etwas schwer zu verstehen, wenn man keine ahnung davon hat.


falls irgendwer zeit dafür hat, könntet ihr so ein script hier posten, wenn möglich mit kommentaren, damit ich das verstehe.
in php wärs eine zeile, über perl scheints etwas komplizierter zu sein.
Who-T ist offline   Mit Zitat antworten
Alt 03.09.2001, 20:21   #2
snowman
Inventar
 
Registriert seit: 26.09.1999
Beiträge: 2.569


Standard

irgendein formmail.

hier gibt es hunderte: http://cgi.resourceindex.com/Program...rm_Processing/

welches hast du denn, und was ist funkt nicht?

gruss,
snowman
____________________________________
MediaMarkt? Ich bin doch nicht blöd, Mann!

Vorsprung durch Technik

Lesen Sie keine Anleitungen, FAQs, Readme - Files. Reine Zeitverschwendung. In den Newsgroups und Foren gibt es genug kompetente Leute, die mit großer Geduld immer wieder dieselben einfachen Fragen beantworten. Völlig kostenlos noch dazu!
snowman ist offline   Mit Zitat antworten
Alt 03.09.2001, 20:27   #3
Who-T
Elite
 
Registriert seit: 01.08.2000
Beiträge: 1.395


Who-T eine Nachricht über ICQ schicken
Standard

#!/usr/bin/perl

#################################################
# #
# POSTFORM: VERSION 1.0 #
# #
# Copyright: NETWAY AG #
# #
#################################################

# Define some constants

$mailprog = '/usr/lib/sendmail';

# Get the input
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

# Split the name-value pairs
@pairs = split(/&/, $buffer);

foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);

# Un-Webify plus signs and %-encoding
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

# Stop people from using subshells to execute commands
# Not a big deal when using sendmail, but very important
# when using UCB mail (aka mailx).
# $value =~ s/~!/ ~!/g;

# Uncomment for debugging purposes
# print "Setting $name to $value

";

$FORM{$name} = $value;
}

# Now send mail to $recipient

open (MAIL, "|$mailprog $FORM{'h_mailto'}") || die "Can't open $mailprog!\n";
print MAIL "From: noreply\@domain.xxx\n";
print MAIL "Subject: $FORM{'h_subject'}\n\n";

foreach $key (sort(keys(%FORM)))
{
print MAIL "$key: $FORM{$key}\n\n";
}

#print MAIL "Server protocol: $ENV{'SERVER_PROTOCOL'}\n";
#print MAIL "Remote host: $ENV{'REMOTE_HOST'}\n";
#print MAIL "Remote IP address: $ENV{'REMOTE_ADDR'}\n";
close (MAIL);

if ($FORM{'h_successurl'} ne "") {
print "Location: $FORM{'h_successurl'}\n\n";

} else {
print "Content-type: text/html\n";
print "The message has been sent!

";
print "<A HREF=\"$ENV{'HTTP_REFERER'}\">Back!</A>

";
}



wie man sieht, von netway programmiert
ich bin jetzt grad dabei, es so umzubauen, dass es für mich passt, allerdings hatte ich ständig n internal server error, auch wenn ich das script auf die erste zeile reduziere.

hab dann mal probiert, die variablennamen zu ändern, das geht noch, sobald ich aber eigene variablen einbaue, hab ich den error
wieder

die daten werden von einem formular übertragen.
so ungefähr hab ich zwar eine ahnung wies funkt, allerdings sind mir die errors etwas schleierhaft

ich post halt mein derzeit modifiziertes auch noch rein:



#!/usr/bin/perl

# Define some constants

$mailprog = '/usr/lib/sendmail';

# Get the input
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});

# Split the name-value pairs
@pairs = split(/&/, $buffer);

foreach $pair (@pairs)
{
($name, $value) = split(/=/, $pair);

# Un-Webify plus signs and %-encoding
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

# Stop people from using subshells to execute commands
# Not a big deal when using sendmail, but very important
# when using UCB mail (aka mailx).
# $value =~ s/~!/ ~!/g;

# Uncomment for debugging purposes
# print "Setting $name to $value

";

$FORM{$name} = $value;
}

# Now send mail to $recipient

open (MAIL, "|$mailprog $FORM{'mail'}") || die "Can't open $mailprog!\n";
print MAIL "From: $FORM{'senderMail'}\n";
print MAIL "Subject: $FORM{'subject'}\n\n";

print MAIL "$FORM{'text'}\n\n";


#print MAIL "Server protocol: $ENV{'SERVER_PROTOCOL'}\n";
#print MAIL "Remote host: $ENV{'REMOTE_HOST'}\n";
#print MAIL "Remote IP address: $ENV{'REMOTE_ADDR'}\n";
close (MAIL);

if ($FORM{'h_successurl'} ne "") {
print "Location: $FORM{'h_successurl'}\n\n";

} else {
print "Content-type: text/html\n";
print "The message has been sent!

";
print "<A HREF=\"$ENV{'HTTP_REFERER'}\">Back!</A>

";
}
Who-T ist offline   Mit Zitat antworten
Alt 03.09.2001, 20:30   #4
Who-T
Elite
 
Registriert seit: 01.08.2000
Beiträge: 1.395


Who-T eine Nachricht über ICQ schicken
Standard

ahja, hab ich vergessen, meine version wirft zwar den fehler aus, funkt allerdings (sprich mail wird versendet)
Who-T ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:54 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag