• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

E-Mail wird nicht gesendet

claires444

Neues Mitglied
Hallo an alle :)
Ich hab da ein Problem und zwar hab ich den Einfachen Formmailer von selfhtml verwendet um eine E-Mail zu versenden, wenn ein Kontaktformular ausgefüllt wird.
Genauer gesagt diesen hier: PHP: Einfacher PHP-Formmailer
Mein Problem jetzt aber ist, dass egal was ich mache, einfach keine E-Mail mehr versendet wird....
Mit dem Formmailer hab ich 2 mal eine E-Mail versenden können und aufeinmal geht nichts mehr...
Ich bin daraufgekommen, dass die versendete E-Mail einfach nicht von bestimmten E-Mail Servern wie zum Beispiel GMX angenommen wird.
Kann ich irgendwas dagegen tun, damit die E-Mail empfangen wird? Ich hab jetzt echt schon sehr viel gesucht und auch probiert, aber so richtig weiterhelfen tut mir nichts und wenn ich was finde, dass vielleicht helfen könnte, versteh ich nicht wirklich wie das funktioniert....
Ich hoffe ihr könnt mir helfen :)
 
Werbung:
Wenn deine Seite korrekt sendet, der Provider vom Empfänger aber die Annahme verweigert, dann deswegen, weil die IP von deinem Mailserver beim Empfänger als Spamquelle eingestuft ist.
Das hast du oft bei grossen Providern, die hosten 200 Webseiten oder noch mehr auf einem Server, die sich alle denselben Mail-Server teilen und wenn nur einer davon in den letzten 7 Tagen Spam versendet hat, haben 199 Andere ein Problem.
Machen kannst du dagegen nur eins: Provider wechseln.
 
Guck sonst mal bei den Accounts, bei denen nichts ankommt, im Spam-Verzeichnis.

Womöglich hilft es auch, den SMTP-Server zu wechseln und Mails etwa über den Mailservice eines bekannten Suchmaschinenbetreibers zu verschicken.

Dazu benötigst du dort einen Account und unter Umständen eine spezielle Mailer-Klasse. Deren Einsatz ist aber ohnehin zu empfehlen.

- Mail() ist tot, es lebe mail()

Angaben zur Funktionsweise von SMTP mit Vorbehalt. Das ist nicht wirklich mein Gebiet.
 
Werbung:
Danke für eure bisherigen Antworten :)
Provider wechsel kommt für mich jetzt leider auch nicht so richtig in Frage, weil ich will bei einem kostenlosen Anbieter bleiben und bei den wird dann ja wohl wieder das selbe Problem sein, mit dem Spam.
Ich hab in den Spamordner schon vorher nachgesehen und natürlich ist dort auch keine E-Mail...
Das mit dem SMTP hab ich mir jetzt durchgeschaut und ich habs auch probiert, aber ich muss zugeben so richtig verstehen tu ich das ganze nicht. Aber das mit SMTP wär sicher etwas was mir auch helfen könnte.
 
Hallo ich wollte jetzt nochmal einen kleinen Zwischenbericht schreiben.
Und zwar hab ich jetzt mit dem PHPMailer alles so hinbekommen das die E-Mail auch überallhin versendet und auch empfangen wird.
Nur hab ich jetzt noch ein kleines Problem und zwar wenn ich die E-Mail empfangen steht dort nur das:
Versender:
E-Mail:
Adresse:
PLZ:
Ort:
Telefon:
Text:
Aber es fehlt überall der eingegebene Text und ich finde den Fehler nicht...
Hier wäre der Code hab ich da irgendwas falsch gemacht?

// Der Body
$body = "Versender: " .$Versender. "<br>";
$body .= "E-Mail: " .$Mail. "<br>";
$body .= "Adresse: " .$Adresse. "<br>";
$body .= "PLZ: " .$PLZ. "<br>";
$body .= "Ort: " .$Ort. "<br>";
$body .= "Telefon: " .$Telefon. "<br>";
$body .="Text: " .$Text. "<br>";

$text_body = "Versender: " .$Versender. " \n";
$text_body .= "E-Mail: " .$Mail. " \n";
$text_body .= "Adresse: " .$Adresse. " \n";
$text_body .= "PLZ: " .$PLZ. " \n";
$text_body .= "Ort: " .$Ort. " \n";
$text_body .= "Telefon: " .$Telefon. " \n";
$text_body .="Text: " .$Text. " \n";

$mail->Body = $body;
$mail->AltBody = $text_body;
 
Werbung:
Leider hab ich mich noch nicht so viel mit PHP beschäftigt. Und was ich leider auch nicht weiß wo das mit dem register_global stehen könnte?
Ja die Werte sollten durch Post übertragen werden.
Hier wäre der Code für das Formular in dem die Variablen eingegeben werden:
<table align="center">
<form action="_____.php" method="post" name="Kontakt">
<!-- Hier die eigentlichen Formularfelder eintragen. Die folgenden sind Beispielangaben. -->
<tr><td>Ihr Name*:</td></tr>
<tr><td><input type="text" name="Versender" maxlength="35" size="50"/></td></tr>
<tr><td>Ihre E-Mail*:</td></tr>
<tr><td><input type="text" name="Mail" maxlength="35" size="50"/></td></tr>
<tr><td>Adresse:</td></tr>
<tr><td><input type="text" name="Adresse" /></td></tr>
<tr><td>PLZ:</td></tr>
<tr><td><input type="text" name="PLZ" maxlength="5" size="6"/></td></tr>
<tr><td>Ort:</td></tr>
<tr><td><input type="text" name="Ort" maxlength="35" size="50"/></td></tr>
<tr><td>Telefon:</td></tr>
<tr><td><input type="text" name="Telefon" maxlength="10" size="12"/></td></tr>
<tr><td>Text*:</td></tr>
<tr><td><textarea name="Text" rows="3" cols="50">Ihren Text bitte hier eingeben</textarea></td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td><input type="submit" value="Senden" />&nbsp;&nbsp;&nbsp;<input type="reset" value="Zurücksetzen" /></td></tr>
</form>
</table>
 
Lass dir auf der Seite, die die Mail abschicken soll, per print_r($_POST); ausgeben, welche Werte ankommen.

Sollte dort der passende Inhalt erscheinen, füge alle dieser Zuweisungen ein, die du brauchst:

PHP:
$Versender = $_POST['Versender'];

Register globals ist ein Mechanismus, der per GET/POST/COOKIE übertragene Felder automatisch als Variablen im PHP-Script definiert. Das ist unter Umständen ein Sicherheitsrisiko, aber zumindest unsauber. Die schöne Variante ist es, auf $_GET, $_POST usw. zuzugreifen.
 
Zuletzt bearbeitet:
Werbung:
Zurück
Oben