Hi,
habe in flash ein bestellformular gemacht wo ich die daten per php versenden möchte.
allerdings führt er mir aus einem mir noch unbekannten grund den mail befehl nicht aus . . . . .
ich hoffe ihr findet den fehler der mir verborgen bleibt
Gruß Joerg
habe in flash ein bestellformular gemacht wo ich die daten per php versenden möchte.
allerdings führt er mir aus einem mir noch unbekannten grund den mail befehl nicht aus . . . . .
PHP-Code:
<?php
$artikel = $_POST['artikel'];
$anzahl = $_POST['anzahl'];
$Name = $_POST['Name'];
$Strasse = $_POST['Strasse'];
$Land = $_POST['Land'];
$Nachname = $_POST['Nachname'];
$PLZ_Ort = $_POST['PLZ_Ort'];
$mail = $_POST['mail'];
$kartennummer = $_POST['kartennummer'];
$Verfallsdatum = $_POST['Verfallsdatum'];
$Kartenname = $_POST['Kartenname'];
$BriefAnschrift = $_POST['BriefAnschrift'];
$BriefAnlass = $_POST['BriefAnlass'];
$BriefName = $_POST['BriefName'];
$BriefZiel = $_POST['BriefZiel'];
$BriefBesonderheiten = $_POST['BriefBesonderheiten'];
$BriefStadium = $_POST['BriefStadium'];
$BriefEreignisse = $_POST['BriefEreignisse'];
$BriefEigenschaften = $_POST['BriefEigenschaften'];
$BriefSchreibstiel = $_POST['BriefSchreibstiel'];
$BriefBerufe = $_POST['BriefBerufe'];
$KarteEmpfänger = $_POST['KarteEmpfänger'];
$KarteVerhältniss = $_POST['KarteVerhältniss'];
$KarteAlter = $_POST['KarteAlter'];
$KarteAnlass = $_POST['KarteAnlass'];
$KarteBesonderheiten = $_POST['KarteBesonderheiten'];
$KarteInformationen = $_POST['KarteInformationen'];
$artikel = stripslashes($artikel);
$anzahl = stripslashes($anzahl);
$Name = stripslashes($Name);
$Strasse = stripslashes($Strasse);
$Land = stripslashes($Land);
$Nachname = stripslashes($Nachname);
$PLZ_Ort = stripslashes($PLZ_Ort);
$mail = stripslashes($mail);
$kartennummer = stripslashes($kartennummer);
$Verfallsdatum = stripslashes($Verfallsdatum);
$Kartenname = stripslashes($Kartenname);
$BriefAnschrift = stripslashes($BriefAnschrift);
$BriefAnlass = stripslashes($BriefAnlass);
$BriefName = stripslashes($BriefName);
$BriefZiel = stripslashes($BriefZiel);
$BriefBesonderheiten = stripslashes($BriefBesonderheiten);
$BriefStadium = stripslashes($BriefStadium);
$BriefEreignisse = stripslashes($BriefEreignisse);
$BriefEigenschaften = stripslashes($BriefEigenschaften);
$BriefSchreibstiel = stripslashes($BriefSchreibstiel);
$BriefBerufe = stripslashes($BriefBerufe);
$KarteEmpfänger = stripslashes($KarteEmpfänger);
$KarteVerhältniss = stripslashes($KarteVerhältniss);
$KarteAlter = stripslashes($KarteAlter);
$KarteAnlass = stripslashes($KarteAnlass);
$KarteBesonderheiten = stripslashes($KarteBesonderheiten);
$KarteInformationen = stripslashes($KarteInformationen);
$subject = 'Bestellung '.§artikel.' von xxxxxx;
//$toaddress = xxxx;
$toaddress = 'joerghamster@web.de';
$message = 'Bestellung vom '.date("D M j G:i:s Y").' von IP : '.$_SERVER['REMOTE_ADDR'].'\n\n\n';
$message .= 'Bestellt wurden : \n';
$message .= 'Artikel : '.$artikel.' mit einer Anzahl von '.$anzahl.'\n\n';
$message .= 'Angaben zum Besteller : \n';
$message .= 'Name : '.$Name.' '.$Nachname.'\n';
$message .= 'Strasse : '.$Strasse.'\n';
$message .= 'PLZ/ORT : '.$PLZ_Ort.'\n';
$message .= 'Land : '.$Land.'\n';
$message .= 'E-Mail : '.$mail.'\n\n';
$message .= 'Falls Kartenzahlung gewünscht, die Kartendaten : \n';
$message .= 'Kartennummer : '.$kartennummer.'\n';
$message .= 'Verfallsdatum : '.$Verfallsdatum.'\n';
$message .= 'Name des Karteninhabers : '.$Kartenname.'\n\n';
$message .= 'Informationen falls ein Brief bestellt wurde : \n';
$message .= 'Anschrift : '.$BriefAnschrift.'\n';
$message .= 'Anlass : '.$BriefAnlass.'\n';
$message .= 'Name : '.$BriefName.'\n';
$message .= 'Ziel : '.$BriefZiel.'\n';
$message .= 'Besonderheiten : '.$BriefBesonderheiten.'\n';
$message .= 'Stadium : '.$BriefStadium.'\n';
$message .= 'Ereignisse : '.$BriefEreignisse.'\n';
$message .= 'Eigenschaften : '.$BriefEigenschaften.'\n';
$message .= 'Schreibstiel : '.$BriefSchreibstiel.'\n';
$message .= 'Berufe : '.$BriefBerufe.'\n\n';
$message .= 'Informationen falls eine Karte oder ein Gedicht bestellt wurde : \n';
$message .= 'Empfänger : '.$KarteEmpfänger.'\n';
$message .= 'Verhältniss : '.$KarteVerhältniss.'\n';
$message .= 'Alter : '.$KarteAlter.'\n';
$message .= 'Anlass : '.$KarteAnlass.'\n';
$message .= 'Besonderheiten : '.$KarteBesonderheiten.'\n';
$message .= 'Informationen : '.$KarteInformationen.'\n\n\n';
$message .= 'Diese E-Mail wurde automatisch von [url]xxxxx[/url] erstellt\n';
function validateEmail($Email) {
// Function to validate an e-mail address by both checking the
// format of the address, and then testing it by holding an
// authorisation conversation with the addresses SMTP server
//
// inputs - $Email = the email address itself
//
// returns - function has a return value of
// 0 = success
// 1 = failed, invalid address
// 2 = system failure
//
// Written by Trib after reading, combining, enhancing and modifying
// the efforts of too many other people to give a credit list. However
// Jay Greenspan deserves a mention for his exhaustive work on address
// parsing (see the link in the rutorial at
// [url]http://www.trib-design.com/gurututs/validatemail.php[/url]
// and also so does an unknown person who wrote the SMTP MX record
// query program which got me to thinking about the problem from the
// SMTP perspective.
//
// You can also find the associated e-mail contact form at
// <this address - later>
//
// Permission is hereby given to use, distribute and modify this code
// without restriction or condition. However if you are a decent person
// you might consider putting a credit into your comments. If you do,
// I'm K. Salt (a.k.a. Trib) at [url]http://www.trib-design.com.[/url] Thanks and ...
//
// enjoy .....
global $HTTP_HOST;
// Check for a malformed address (roughly)
if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $Email)) {
// it failed the simple format test, so return with an invalid address error
return 1;
}
// otherwise it passes the test so we can go off and do the 'real' validation
//
// first split #Email up into parts
list ( $Username, $Domain ) = split ("@",$Email);
// look for an MX record and get the mail host name
if (checkdnsrr ( $Domain, "MX" )) {
if (getmxrr ($Domain, $MXrec)) {
// save the MX hostname ready for Phase 3 testing
$Mailserver = $MXrec[0];?†?? ? ?|E|E?????????††?????????????
?†?? ? ?|E|E?????????††?????????????
} else {
// there is an MX record, but we failed to retrieve it
return 2; // return system error NOT invalid address
}
} else {
// in this case there isn't an MX record so assume that the domain
// portion is also the name of the mail server itself (it can happen)
// save it as the mailserver address ready for Phase 3 testing
$Mailserver = $Domain;
}
// open a socket connection to the Mailserver
if ($Connection = fsockopen($Mailserver, 25)) {
// start the SMTP validation
if (ereg("^220", $Rubbish = fgets($Connection, 1024))) {
// it is an SMTP server so you can start talking to it
// Tell it who you are and get the response (not needed later).
fputs ( $Connection, "HELO $HTTP_HOST\r\n" );
$Rubbish = fgets ( $Connection, 1024 );
// Ask it to accept mail from your $Email user - store the response (needed later)
fputs ( $Connection, "MAIL FROM: <{$Email}>\r\n" );
$Fromstring = fgets ( $Connection, 1024 );
// Ask it to accept mail for your $Email user - store the response (needed later)
fputs ( $Connection, "RCPT TO: <{$Email}>\r\n" );
$Tostring = fgets ( $Connection, 1024 );
// Now tell it you're done with chatting
fputs ( $Connection, "QUIT\r\n");
// and close the connection
fclose($Connection);
// finally test the resonses did we get OK (type 250) messages?
if (ereg("^250", $Fromstring) && ereg("^250", $Tostring)) {
// YAHOOO .. we got a good one
return 0; // return successful validation
} else {
// the server refused the user
return 1; // return invalid address
}
} else {
// connected, to something but it failed to identfy itself as an SMTP server
// so assume its a bogus address
return 1; // return invalid address error
}
} else {
// it failed to connect
return 1; // return i?†?? ? ?|E|E?????????††?????????????nvalid address or system error - its yo?†?? ? ?|E|E?????????††?????????????ur call
}
}
$valid = validateEmail($mail);
echo 'response=invalid';
switch ($valid) {
case 0:
if (mail($toaddress,$subject,$message,"From: $Nachname,$Name <$mail>"))
{
echo 'response=passed';
}else
{
echo 'response=error';
}
//clear the variables
echo 'response=passed';
break;
case 1:
echo 'response=error';
break;
case 2:
echo 'response=invalid';
break;
}//end switch
?>
Gruß Joerg
Kommentar