Mail-Funktion - Probleme!!!

robertino

Mitglied
Mit diesem Link: Link!


Also ich war auf diem Link habe mir alles so eingestellt! Doch wenn ich in meinem Server "index.php" starte, kommt immer die Felhlermeldung:


Notice: Undefined variable: name_freund in C:\Programme\wamp\homepages\index.php on line 4

Notice: Undefined variable: email_freund in C:\Programme\wamp\homepages\index.php on line 4

Selfphp-Mailer


Was kann ich dagegen tun?

ich hoffe bei euch hats geklappt! Das nun auch meines klappt!
 
Das sind sicherlich GET- oder POST-Variablen, die beim ersten Aufruf deiner Seite noch nicht gesetzt sind. Mit isset($variable) kann du abfragen, ob $variable gesetzt ist. Das solltest du tun bevor du eine Variable benutzt.

Gruß
Falk
 
In den neuen PHP Versionen sind Autoglobale vars standartmäßig deaktiviert, also wird ein über POST (<form...method=post..>) übergebenes Formularfeld(name="email") nicht als $email übergeben sondern ist under $_POST["email"] aufzufinden.
Wenn es sich dabei um dieses Problem handeln sollte, lies bitte die FAQ, dort wurde diese Thema schon durchgekaut :)
 
Also das heisst es würde so aussehen: ?

index.php :
PHP:
<?PHP  //Wird vom Formular ausgefuellt  
$_POST["email_to"]  = "$_POST["name_freund"] <$_POST["email_freund"]>";   //Absender-Email
$_POST["email_from_mail"] = "mail@selfphp3.de";   
//Absender-Name
$_POST["email_from_name"] = "Damir Enseleit";   
//Betreff in der Mail
$_POST["email_betreff"] = "Selfphp-Mailer";  
//BCC
$_POST["email_to_bcc"] = "mail@selfphp4.de";?>

$header="From:$email_from_name<$email_from_mail>\n";

$header .= "Reply-To: $email_from_mail\n"; 

$header .= "Bcc: $email_to_bcc\n"; 

$header .= "X-Mailer: PHP/" . phpversion(). "\n";          

$header .= "X-Sender-IP: $REMOTE_ADDR\n"; 

$header .= "Content-Type: text/html"; 

mail($email_to,$email_betreff,$emailbody,$header);

echo "<p>Sende Email nach: $email_freund<br> 
  Sende Email(BCC) nach: $email_from_mail"; 

} 

?> 
</body> 
</html>



Vincent
 
Zuletzt bearbeitet von einem Moderator:
nehmen wir an du machst einen Formmailer, der dir die Daten nach Hause sendet:

1.
Formular.htm:


PHP:
...
<form name="senden" method="Post" action=mailer.php>
<input type=text name=to value="Empfängeradresse">
<input type=text name=from value="Name des Absenders">
<input type=text name=m_from value="eMail des Senders">
<textarea name=msg>Nachricht hier
<!-- HIER SIEHE nl2br!//-->
</textarea>
<input type=submit>
</form>
...
Sorry für das HTML





und dann eine Datei namens mailer.php:
PHP:
...
<?PHP
$header="From:$_POST['from']<$_POST['m_from']>\n";
$header .= "Reply-To: $_POST['from']\n"; 
$header .= "Bcc: [deine email adresse(zur kontrolle)]\n"; 
$header .= "X-Mailer: PHP/" . phpversion(). "\n";          
$header .= "X-Sender-IP: $REMOTE_ADDR\n"; 
$header .= "Content-Type: text/html"; 
//Danke, selfphp :)

//Wenn du Probleme mit der Mailfunktion hast, wende sie dann auch bitte an :P
if mail($_POST['to'],$_POST['msg'],$header);
{
echo "Danke sehr,dass Sie mit uns geflogen sind...besuchen sie uns bald wieder";
TuWasWennDieMailRausIst();
}
//hier kann noch ein else-bäumchen hin...

?>

Ich befürchte,dass du die Grundlagen von PHP noch nicht so recht verstanden hast, wenn du nicht bemerkst, dass eine variable sich nicht selbst setzt, ich weiß nicht, ob wir Einstiegstutorials für OOP Sprachen haben aber ich glaube wenn du auf php.net nach Variablen suchst, haste Lesestoff für die nächsten 2 Wochen :)


Ich garantiere hier natürlich NICHT für die Richtigkeit des codes, alles ist frei hand geschrieben - Die Idee allerdings stimmt soweit
 
Zuletzt bearbeitet:
Hast du auf deinem Selbstgebastelte Webserver überhaupt einen Mailserver???

Wenn nicht, dann ist ja wohl klar warum das nicht geht....
 
Hmmm selbstgebastelt? davon habe ich jetzt nichts mitbekommen, wenn es ein selbstgebastelter Server ist, hat er ZIEMLICH sicher standartmäßig KEINEN Mailserver :) stimmt scho :)

Ach ja, wenn es keinen mailserver geben würde, würde NATÜRLICH nichts rausgehen, nur handelt es sich bei rob um einen VARIABLENFEHLER, also haken wir dort nach, Mailserver ist ein anderes Bier.
 
ich denke mal sendmail dürfte doch ausreichen oder? ich persönlich habe keine probleme mit sendmail emails zu verschicken, man braucht auch meines wissens nach nicht unbedingt einen smtp-server dazu! hab mich natürlich bisher nicht mit solchen sachen beschäftigt (bisher funzt noch alles ;) ) und es könnte anders sein, aber unter linux reichts sendmail installiert zu haben und unter windows setzt man halt einfach nen smtp-server, den man kennt und zugriff drauf hat, in die php.ini ein und die sache funktioniert!

// bitte nicht web.de als smtp-server nehmen. wenn man nicht clubmitglied ist, kann man nur mails schreiben wenn man vorher den posteingang geprüft hat. das bedeutet man müsste jedesmal wenn eine mail per phpmailer raus soll, gleichzeitig noch seine mails abrufen, was natürlich völliger schwachfug ist.
 
Zuletzt bearbeitet:
Zurück