Mail.php3
Rainer
- php
0 Tom
Hallo zusammen,
hab mir ein Forumlar gebastet, welches auch versendet wird. Allerdings funktioniert dies so nicht. Nehm ich 2x den "MailHeader" raus, dann klappt es, jedoch steht dann oben im Header meine Serveradresse mit Benutzername drin.
Was könnte da falsch sein?
Danke, Gruß
Rainer
<?
$MailTo = "ftt@cbr1000rr.de"; $MailSubject = "Anmeldung zum 4.FTT 2008";
$MailHeader .= "From: ftt@cbr1000rr.de";
$MailHeader .= "Reply-To: ftt@cbr1000rr.de";
$MailHeader .= "cc: $email1";
$Envoi = 1;
// ***Adresse 1***
// ***Start***
// 1.Teilnehmer
$MailBody .= "\n";
$MailBody .= "*** 1.Teilnehmer ***\n";
if ($name1 == ""){
echo("<font face=verdana size=2>Bitte unbedingt Deinen Vor- und Nachnamen eingeben! (zurück Button verwenden)</font><br>");
$Envoi = 0;
}
else {
$MailBody .= "Name: $name1\n";
}
// ***Ende***
// ***Start***
// Straße
if ($strasse1 == ""){
echo("<font face=verdana size=2>Bitte geb Deine Straße mit Hausnummer ein! (zurück Button verwenden)</font><br>");
$Envoi = 0;
}
else {
$MailBody .= "Straße: $strasse1\n";
}
// ***Ende***
// ***Start***
// PLZ & Ort
if ($plz_ort1 == ""){
echo("<font face=verdana size=2>Bitte geb Deine PLZ sowie Deinen Ort ein! (zurück Button verwenden)</font><br>");
$Envoi = 0;
}
else {
$MailBody .= "PLZ und Ort: $plz_ort1\n";
}
// ***Ende***
// ***Start***
// Tel-Nr.
$MailBody .= "Tel-Nr.: $tel_nr1\n";
$MailBody .= "FAX-Nr.: $fax_nr1\n";
// ***Ende***
// ***Start***
// Handy
if ($handy1 == ""){
echo("<font face=verdana size=2>Bitte Deine Handy-Nr. für Rückfragen oder dringende Infos angeben! (zurück Button verwenden)</font><br>");
$Envoi = 0;
}
else {
$MailBody .= "Handy: $handy1\n";
}
// ***Ende***
// ***Start***
// E-Mail
if ($email1 == ""){
echo("<font face=verdana size=2>Bitte geb Deine E-Mail an, damit ich Dir alles weitere zusenden kann! (zurück Button verwenden)</font><br>");
$Envoi = 0;
}
else {
$MailBody .= "E-Mail: $email1\n";
}
// ***Ende***
// Forum
$MailBody .= "Forumsname: $forum1\n";
$MailBody .= "\n";
$MailBody .= "\n";
// ***Adresse 2***
$MailBody .= "*** 2.Teilnehmer ***\n";
$MailBody .= "Name: $name2\n";
$MailBody .= "Straße: $strasse2\n";
$MailBody .= "PLZ und Ort: $plz_ort2\n";
$MailBody .= "Tel-Nr.: $tel_nr2\n";
$MailBody .= "FAX-Nr.: $fax_nr2\n";
$MailBody .= "Handy: $handy2\n";
$MailBody .= "E-Mail: $email2\n";
$MailBody .= "Forumsname: $forum2\n";
$MailBody .= "\n";
$MailBody .= "\n";
// ***Adresse 3***
$MailBody .= "*** 3.Teilnehmer ***\n";
$MailBody .= "Name: $name3\n";
$MailBody .= "Straße: $strasse3\n";
$MailBody .= "PLZ und Ort: $plz_ort3\n";
$MailBody .= "Tel-Nr.: $tel_nr3\n";
$MailBody .= "FAX-Nr.: $fax_nr3\n";
$MailBody .= "Handy: $handy3\n";
$MailBody .= "E-Mail: $email3\n";
$MailBody .= "Forumsname: $forum3\n";
$MailBody .= "\n";
$MailBody .= "\n";
// ***Adresse 3***
$MailBody .= "*** 4.Teilnehmer ***\n";
$MailBody .= "Name: $name4\n";
$MailBody .= "Straße: $strasse4\n";
$MailBody .= "PLZ und Ort: $plz_ort4\n";
$MailBody .= "Tel-Nr.: $tel_nr4\n";
$MailBody .= "FAX-Nr.: $fax_nr4\n";
$MailBody .= "Handy: $handy4\n";
$MailBody .= "E-Mail: $email4\n";
$MailBody .= "Forumsname: $forum4\n";
$MailBody .= "\n";
$MailBody .= "\n";
// ***Sonstiges***
// Dauer
$MailBody .= "Anreise am:\n";
$MailBody .= "$Ankunft\n";
$MailBody .= "\n";
$MailBody .= "Abreise am:\n";
$MailBody .= "$Abreise\n";
$MailBody .= "\n";
$MailBody .= "\n";
// Bemerkung
$MailBody .= "Bemerkung:\n";
$MailBody .= "$bemerkung\n";
$MailBody .= "\n";
$MailBody .= "\n";
// Verantwortlichkeit und Haftungsverzicht
$MailBody .= "Verantwortlichkeit und Haftungsverzicht: $einverstanden1\n";
// Datenspeicherung
$MailBody .= "Daten: $einverstanden2\n";
//Routine to send message
if ($Envoi == 1) { //Check that variable $Envoi has value 1
mail("$MailTo", "$MailSubject", "$MailBody", "$MailHeader");
echo("<p><center><font face=verdana size=2><br>Deine Anmeldung wurde erfolgreich übermittelt.<br><br>Du kannst Das Fenster nun schließen. DANKE!!!<br></font></center></p>");
}
?>
Hello,
hab mir ein Forumlar gebastet, welches auch versendet wird. Allerdings funktioniert dies so nicht. Nehm ich 2x den "MailHeader" raus, dann klappt es, jedoch steht dann oben im Header meine Serveradresse mit Benutzername drin.
Wie 2x?
<?
$MailTo = "ftt@cbr1000rr.de"; $MailSubject = "Anmeldung zum 4.FTT 2008";
$MailHeader .= "From: ftt@cbr1000rr.de";
$MailHeader .= "Reply-To: ftt@cbr1000rr.de";
$MailHeader .= "cc: $email1";
$Envoi = 1;
[...] much stuff deleted
if ($Envoi == 1) { //Check that variable $Envoi has value 1
mail("$MailTo", "$MailSubject", "$MailBody", "$MailHeader");
echo("<p><center><font face=verdana size=2><br>Deine Anmeldung wurde erfolgreich übermittelt.<br><br>Du kannst Das Fenster nun schließen. DANKE!!!<br></font></center></p>");
}
?>
Du scheinst noch mit Register Globals = ON zu arbeiten.
Die Variable $MailHeader wurde nicht initilisiert. Das bedeutet also, dass man sie von außen ins Script reinschleppen kann.
Der Fehler wird vermutlich darin liegen, dass Du bei den Mailheadern das "\r\n" vergessen hast hinter jeder Zeile.
<?php
error_reporting(E_ALL);
$Mailheader = '';
$MailHeader .= "From: ftt@cbr1000rr.de\r\n";
$MailHeader .= "Reply-To: ftt@cbr1000rr.de\r\n";
$MailHeader .= "cc: $email1\r\n";
Und dann in Mails immer nur mit \r\n das Zeilenende markieren, mit Ausnahme der Chunked Areas, also z.B. Blöcke mit base64-Codiertem Inhalt. Die werden nur mit \n umgebrochen.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom