mittemail.class und smtpconnection.classels POST ansprechen

10x10

Mitglied
Hallo,

ich habe ein Problem mit dem Ansprechen der email.class.php und smtpconnection.class.php von Dennis Wronka.

email.class.php

smtpconnection.class.php

Funktioniert eigentlich tadellos. Aber da ich wenn ich die Variable für die E-Mail-Adresse des Versenders mittels POST aus Flash übergebe, dann funktionierts leider nicht mehr. Alle anderen übergebenen Variablen funktionieren. Wenn ich als fixen Wert z.B. "test@test.com" im PHP-File eintrage dann funktioniert das verschicken. Die Varibale $_POST["eintragMail"] kommt definitiv richtig im PHP-Script an. Wenn ich diese als Text in der E-Mail ausgebe wird sie richtig angezeigt.

Hier mein Script:
PHP:
<?php
$to = "meinemail@test.com";
$host = "mail.server.com";
$logintype = "LOGIN";
$user = "test@domain.com";
$password="*******";
if(isset($_POST["eintrag"])){
	require('email.class.php');
	require('smtpconnection.class.php');
	$from = $_POST["eintragMail"];
//Wenn ich hier der Variable $from statt der Variable $_POST["eintragMail"] z.B. "test@test.com" fix übergebe, dann wird die E-Mail korrekt verschickt. Mit $_POST["eintragMail"] leider nicht?
	$subject = $_POST["eintragBetreff"];
	$absender = $_POST["eintragName"];
	$telefon = $_POST["eintragTelefon"];;
	$nachricht = "Diese E-Mail wurde mit dem Kontaktformular von www.test.com versendet.\n\n";
	$nachricht.= "Name: ".stripslashes($absender)."\nE-Mail: ".$from."\nTelefon: ".$telefon."\n";
	$nachricht.= "Nachricht:\n".$_POST["eintragMail"];
	$body = $nachricht;
	$mail=new email($from,$to,$subject,$body);
	$smtp=new smtpconnection($host,$logintype,$user,$password);
	if ($smtp->sendmail($mail->composemail()))
		{
			echo 'Mail has been sent';
		}
	else
		{
			echo 'Mail could not be sent';
		}
	unset($smpt);
	unset($mail);
}
?>

Bitte dringend um Hilfe!
 
Zuletzt bearbeitet:
Ohne jetzt gross auf den Code einzugehen (den ich mir aus Zeitgruenden jetzt erstmal nicht genau angeschaut hab, nur in Bezug auf den Aufruf der Klassen) empfehle ich nicht die Klassen aus den hier erstellten Tutorials zu nutzen sondern die aktuellsten Version von http://php-classes.sourceforge.net/.
Ich hab die Klassen seit Erstellung der Tutorials ordentlich ueberarbeitet, und wenn Du z.B. auf die Nutzung eines externen Server verzichten kannst kannst Du nun auch ohne SMTPConnection auskommen da eMail nun auch selbst, mittels mail() senden kann.
Ausserdem gab es einen Bug in SMTPConnection der den Versand an mehrere User verhindert.

Du wirst zwar Deinen Code ein klein wenig anpassen muessen, die neuen Versionen der Klassen sind aber wirklich wesentlich besser als die im Tutorial vorgestellten.

Dass aber POST-Variablen nicht richtig ankommen ist merkwuerdig, und duerfte entweder im Script begruendet liegen (immerhin arbeitet keine der Klassen mit $_POST, $_GET, $_REQUEST oder aehnlichen Arrays) oder aber in einem Bug in der Verarbeitung der uebergebenen Variablen (also dann innerhalb der Klassen).

Wie gesagt, hol Dir erstmal die aktuellen Versionen und probier es damit (den Code wirst Du ein wenig anpassen muessen, und wenn Du weiterhin SMTPConnection nutzt wirst Du auch TCPConnection brauchen, von der SMTPConnection mittlerweile die Netzwerk-Funktionen erbt). Wenn es dann immer noch nicht geht schauen wir mal weiter.
 
Danke für die schnelle Antwort. Gibt es irgendwo ein Beispiel zum ansehen, in dem man sieht wie die Klassen angesprochen werden? Komm leider nicht klar damit. Hab leider bis jetzt noch nie mit Klassen gearbeitet.

Ich hab die Mails sonst einfach mittels mail() verschickt. Mein derzeitiger Kunde will die von mir erstellte Website auf seinem privaten Webserver inkl. Mailserver online stellen. Dort funktioniert das versenden der E-Mails aber leider nicht mit meinem bis jetzt verwendeten Script.

Hab`s jetzt eine Zeit lang versucht deine Klassen zu verstehen, aber ich blick leider nicht durch :confused:
 
Zurück