Mailscript
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
absender
august
betreff
code
datum
erinnerung
formular
geburtstag
header
http
message
nachricht
post
senden
server
string
tag
text
type
zahl
-
Hallo,
schuldige wenn ihr das nicht richtig versteht was jetzt kommt, bin ja auch erst neuling.
Also ich hab ein \"Fakemailer\" in PHP gebastelt (tag/http">http://olearose.lima-city.de/fakemail/mail.html), für das Formular habe ich get verwendet, FEHLER? Dieses Formular sendet dann seine Daten an send_mail.php, dieses Script sieht wie folgt aus:
<?PHP
$empfaenger = (\'\'.$_get[\'mailtoname\'].\'<\'.$_get[\'mailto\'].\'>\');
$absender = \'\'.$_get[\'fromname\'].\'<\'.$_get[\'from\'].\'>\';
$subject = \'\'.$_get[\'subject\'].\'\';
$message = \'\'.$_get[\'mail\'].\'\';
$headers .= \'From:\' . $absender . \"\\n\";
$headers .= \'X-Mailer: PHP/\' . phpversion() . \"\\n\";
$headers .= \'X-Sender-IP: \' . $REMOTE_ADDR . \"\\n\";
$headers .= \'Content-type: \'.$_get[\'type\'].\"\\n\";
mail($empfaenger, $subject, $message, $headers);
?>
Was ist Falsch?
THX!!! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Grundsätzlich ist es ein Fehler, wenn man für so einen Fakemailer die Daten per GET empfängt. Per Get kann nur eine bestimmte Anzahl an Zeichen übertragen werden und bei Zeilenumbrüchen kommt es je nach Browser gerne zu Fehlern... Wenn du POST verwendest, hast du dieses Problem nicht. Ich denke Mal, das sollte jetzt so funktionieren... Wenn nicht könnte es höchstens an unterschiedlichen Variablenamen im Formular/ im Sendescript liegen.
MfG
sebigisler -
Also muss ich nur beim Formular und in den Variablen get durch POST ersetzen oder wie?
Das hab ich jetzt gemacht, hochgeladen aber es passiert immer noch das selbe -NICHTS! in meiner mailbox und es kommt immer noch in die Adresszeile das Browsers. Die Namen sind aber alle korrekt!
So, jetzt kommt das Zeug zwar nicht mehr in die Adresszeile aber es kommt immer noch nichts!
Beitrag geändert: 24.5.2008 14:07:32 von olearose -
Das nix geht liegt dadran, dass du die Variablen nicht nur per $_POST[\'\'] empfangen musst, sondern auch damit absenden musst.
-
hab ich doch auch jetzt geändert
(<form method=\"POST\" action=\"send_mail.php\">)
, und es steht auch nich alles in der Adresszeile! Aber es kommt halt nix an. TESTE ES DOCH!
Beitrag geändert: 24.5.2008 14:26:34 von olearose -
Die post-methode geht auch nicht über die Adresszeile! Trenne dich von get, des mit der Adesszeile bekommst du net hin..
-
Man , ich hab mich doch schon löängst von get verabschiedet!
Es klappt halt net, kannst es ja mal vielleicht ausprobieren dann merkste das es net geht!
ach so hier:
mail.html:
<html> <head> <title>Fake Mailer</title> </head> <body> <center> <form method=\"POST\" action=\"send_mail.php\"> <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" width=\"62%\" height=\"86\" bgcolor=\"#000000\" bordercolor=\"#FF0000\"> <tr> <td width=\"25%\" align=\"center\" height=\"25\"> <p align=\"left\"><font color=\"#FFFFFF\">Empfängers E-Mail :</font></p> </td> <td width=\"25%\" align=\"center\" height=\"25\"> <font color=\"#FFFFFF\"><input type=\"text\" name=\"mailto\" size=\"30\"></font> </td> <td width=\"25%\" align=\"center\" height=\"25\"> <p align=\"left\"><font color=\"#FFFFFF\">Empfängername:</font></p> </td> <td width=\"25%\" align=\"center\" height=\"25\"> <font color=\"#FFFFFF\"><input type=\"text\" name=\"mailtoname\" size=\"20\"></font> </td> </tr> </center> <tr> <td width=\"25%\" align=\"center\" height=\"25\"> <p align=\"left\"><font color=\"#FFFFFF\">Fake E-Mail:</font></p> </td> <center> <td width=\"25%\" align=\"center\" height=\"25\"> <font color=\"#FFFFFF\"><input type=\"text\" name=\"from\" size=\"30\"></font> </td> <td width=\"25%\" align=\"center\" height=\"25\"> <p align=\"left\"><font color=\"#FFFFFF\">Fake Name:</font></p> </td> <td width=\"25%\" align=\"center\" height=\"25\"> <font color=\"#FFFFFF\"><input type=\"text\" name=\"fromname\" size=\"20\"></font> </td> </tr> <tr> <td width=\"50%\" colspan=\"2\" align=\"center\" height=\"8\"> <p align=\"left\"><font color=\"#FFFFFF\">Typ der Nachicht:</font> </p> </td> <td width=\"50%\" colspan=\"2\" align=\"center\" height=\"8\"> <font color=\"#FFFFFF\"> Text<input type=\"radio\" value=\"text/plain\" checked name=\"type\"> HTML<input type=\"radio\" name=\"type\" value=\"text/html\"> </font> </td> </tr> </center> <tr> <td width=\"50%\" colspan=\"2\" align=\"center\" height=\"1\"> <p align=\"left\"><font color=\"#FFFFFF\">Betreff:</font> </td> <td width=\"50%\" colspan=\"2\" align=\"center\" height=\"1\"> <input type=\"text\" name=\"subject\" size=\"36\"> </td> </tr> <tr> <td width=\"100%\" colspan=\"4\" align=\"center\" height=\"1\"> <p align=\"left\"><font color=\"#FFFFFF\">Nachricht:<br><textarea rows=\"13\" name=\"mail\" cols=\"79\"></textarea> </font> </td> </tr> <center> <tr> <td width=\"50%\" align=\"center\" height=\"27\" colspan=\"2\"><font color=\"#FFFFFF\"><input type=\"submit\" value=\"Abschicken\" name=\"send\"></font></td> <td width=\"50%\" align=\"center\" height=\"27\" colspan=\"2\"><font color=\"#FFFFFF\"><input type=\"reset\" value=\"Zurücksetzen\" name=\"back\"></font></td> </tr> </table> </form> </center> </body> </html>
send_mail.php
<?PHP $empfaenger = (\'\'.$_POST[\'mailtoname\'].\'<\'.$_get[\'mailto\'].\'>\'); $absender = \'\'.$_POST[\'fromname\'].\'<\'.$_get[\'from\'].\'>\'; $subject = \'\'.$_POST[\'subject\'].\'\'; $message = \'\'.$_POST[\'mail\'].\'\'; $headers .= \'From:\' . $absender . \"\\n\"; $headers .= \'X-Mailer: PHP/\' . phpversion() . \"\\n\"; $headers .= \'X-Sender-IP: \' . $REMOTE_ADDR . \"\\n\"; $headers .= \'Content-type: \'.$_POST[\'type\'].\"\\n\"; mail($empfaenger, $subject, $message, $headers); ?>
code-Tag by tct
Beitrag geändert: 24.5.2008 16:01:46 von tct
Beitrag zuletzt geändert: 16.1.2011 9:40:24 von nikic -
Bitte, für solche Codes gibt es extra einen [c o d e]-Tag hier im Forum ...
Also ich seh nicht das du dich von GET verabschiedet hast, zumindest nicht ganz. ;)
Beitrag geändert: 24.5.2008 14:40:57 von philippkern -
Na toll, jetzt hab ich das Verbessert und es kommt immer noch nix! hä? ich glaub ich bin zu doof dafür . Ich checks echt net...
Ich nehm mal
raus.$headers .= \'X-Mailer: PHP/\' . phpversion() . \"\\n\";
Beitrag geändert: 24.5.2008 14:47:19 von olearose -
ich weiß net obs dran liegt, aber php unterscheidet zwischen groß- und kleinschreibung!
und es heißt $_POST nicht $_post
hoffe das hilft ;)
edit: du hast vor dem n den \\ vergessen
Beitrag geändert: 24.5.2008 14:55:26 von tmxxx -
ne hab alles groß!
So hab mir die daten anzeigen lasen:
array(8) { [\"mailto\"]=> string(7) \"4.vornamen@gmail.com\" [\"mailtoname\"]=> string(7) \"ztrtzrt\" [\"from\"]=> string(9) \"tzrtzrtzr@klrdjglrf.de\" [\"fromname\"]=> string(10) \"zrtzrtzrtz\" [\"type\"]=> string(10) \"text/plain\" [\"subject\"]=> string(9) \"rtzretzrt\" [\"mail\"]=> string(8) \"zrtzrtrt\" [\"B1\"]=> string(10) \"Abschicken\" }
Beitrag geändert: 24.5.2008 15:16:31 von olearose -
ich weiß net obs dran liegt, aber php unterscheidet zwischen groß- und kleinschreibung!
und es heißt $_POST nicht $_post
hoffe das hilft ;)
edit: du hast vor dem n den \\ vergessen
Beitrag geändert: 24.5.2008 14:55:26 von tmxxx
Denke auch dass da unterschieden wird, aber das ist nicht sein Problem.
das \\ (Backslash) macht das Forum hier weg ...
Versuch mal die übergebenen Werte auszugeben und schau ob sie überhaupt übertragen wurden. ;) -
So hab mir die Daten mit
var_dump($_POST); anzeigen lassen:
array(8) { [\"mailto\"]=> string(7) \"4.vornamen@gmail.com\" [\"mailtoname\"]=> string(7) \"ztrtzrt\" [\"from\"]=> string(9) \"tzrtzrtzr@klrdjglrf.de\" [\"fromname\"]=> string(10) \"zrtzrtzrtz\" [\"type\"]=> string(10) \"text/plain\" [\"subject\"]=> string(9) \"rtzretzrt\" [\"mail\"]=> string(8) \"zrtzrtrt\" [\"B1\"]=> string(10) \"Abschicken\" }
2. Beitrag:
Ich hab mal auf de.php.net gesucht und folgendes gefunden, das komische headers ist ohne s, also header und es ist auch anders aufgebaut.
<?php // mehrere Empfänger $empfaenger = \'max@example.com\' . \', \'; // beachten Sie das Komma $empfaenger .= \'moritz@example.com\'; // Betreff $betreff = \'Geburtstags-Erinnerungen für August\'; // Nachricht $nachricht = \' <html> <head> <title>Geburtstags-Erinnerungen für August</title> </head> <body> <p>Hier sind die Geburtstage im August:</p> <table> <tr> <th>Person</th><th>Tag</th><th>Monat</th><th>Jahr</th> </tr> <tr> <td>Julia</td><td>3.</td><td>August</td><td>1970</td> </tr> <tr> <td>Tom</td><td>17.</td><td>August</td><td>1973</td> </tr> </table> </body> </html> \'; // für HTML-E-Mails muss der \'Content-type\'-Header gesetzt werden $header = \'MIME-Version: 1.0\' . \"\\r\\n\"; $header .= \'Content-type: text/html; charset=iso-8859-1\' . \"\\r\\n\"; // zusätzliche Header $header .= \'To: Simone <simone@example.com>, Andreas <andreas@example.com>\' . \"\\r\\n\"; $header .= \'From: Geburtstags-Erinnerungen <geburtstag@example.com>\' . \"\\r\\n\"; $header .= \'Cc: geburtstagsarchiv@example.com\' . \"\\r\\n\"; $header .= \'Bcc: geburtstagscheck@example.com\' . \"\\r\\n\"; // verschicke die E-Mail mail($empfaenger, $betreff, $nachricht, $header); ?>
Beitrag geändert: 24.5.2008 16:03:28 von tct -
Hmm.
Ähm, headers ist bei dir eine Variable und ob die nun headers oder header heißt ist ... egal.
Ja test das Script ob es funktioniert, und das, wenns funzt, kannst du dann leicht umschreiben. ;) -
Funzen tuts und ich schreib es jetzt mit den POST Variablen um.
Und wenn ich es fertig hab schreib ich es noch rein, vieleicht will es ja jemand haben!
Na toll, jetzt gehts auch nicht mehr!
Beitrag geändert: 24.5.2008 15:47:17 von olearose -
Bei Lima gibts öfters mal Probleme mit der Mail-Funktion. Ich habs immer so gemacht, dass ich mir eine send_mail.php auf nem anderen Server gemacht hab (z.B. funpic.de, da ist die Werbung ja dann egal), und die kriegt dann die Daten per $_GET, am besten noch mit ner Art PW, als Schutz gegen Spam
Die wird dann einfach per file_get_contents von Lima aufgerufen.
Beitrag geändert: 24.5.2008 15:56:31 von pinguinfreund -
Na klasse dann kappt das schon wieder net, hab aber folgendes gefunden: http://www.php-free.de/Detailed/4276.html und wir machen hir den thread das jahrhunderts .
Ach so das script könnt ihr auf http://olearose.bplaced.net/fakemailer/check.php TESTEN!!!
Beitrag geändert: 24.5.2008 17:09:50 von olearose -
So ich hab das script nen bissel verbessert...
ihr könnt es auf http://olearose.bplaced.net/fakemailer/ testen.
Warum auf bplaced? ganz einfach auf dem lima-city server leif es net un das alte script läuft auf dem bplaced server auch ! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage