php-mail
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ankommen
array
benachrichtigung
betreff
code
date
datum
email
gesamte code
inhalt
jemand
message
problem
schritt
senden
test
transport
umlaut
-
Hallo Zusammen,
Ich habe mir gerade eine kleine E-Mail Benachrichtigung eingerichtet, damit ich weiß wann Jemand etwas im
Kontaktformular absendet.
Die E-Mails kommen zwar an jedoch gibt es Probleme bei Zeilenumbrüchen sowie Umlauten.
Ankommen tut bei mir folgendes:
admin@marvinkleinmusic.de
This mail was sent at the 06.07.15 from Marvin.
____________________________________________
test\ntest\ntest\ntesttetstetstagdhabfjknsbfjkdfnöskjfnkdköL\'fmslöDFMsöfsdfsdfdsf\nsfsd\nfas\nfdsf\ndsfsadf
Der Dazugehörige Code:
$name = strip_tags(mysqli_real_escape_string($db, $_POST['name'])); $email = strip_tags(mysqli_real_escape_string($db, $_POST['email'])); $betreff = strip_tags(mysqli_real_escape_string($db, $_POST['betreff'])); $message = strip_tags(mysqli_real_escape_string($db, $_POST['message'])); $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; $Datum = date("d.m.y"); $to = "klein.marvin@rocketmail.com"; $message = <<<EMAIL This mail was sent at the $Datum from $name. ____________________________________________ $message EMAIL; mail($to,$betreff,$message,$email);
Wie kann ich es lösen, dass ich alles gut lesen kann?
LG
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Mime-Type und Charset helfen vermutlich, wie nach (sehr) kurzer Internetrecherche gefunden:
http://www.php-kurs.com/email-per-php.htm
http://www.phpbox.de/tipsundtricks/emailsumlaute.php -
Oder du verwendest gleich eine Library fürs mail versenden.
http://swiftmailer.org/
Dann brauchst du dir die Arbeit nicht machen und alles selbst schreiben. -
@Burgi
Also die Umlaute habe ich nun gelöst. Die Zeilenumbrüche in dem Nachrichtentext jedoch wollen einfach nicht raus.
Selbst wenn ich die E-Mail als type:html angebe und dann nl2br() über den Inhalt laufen lasse gibt es keine Verbesserung.
-
Ich unterstütze mal javaphp seine Meinung. Eine Libary ist echt Gold wert, gerade bei dem php Mail geschichten. Ich benutze das nur noch, da selbst wenn du es einmal schaffst das wirklich alles stimmt in der Mail, dann heißt das nicht das es auch auf jedem anderen Server läuft. Man kann sich da auch genau so schnell reinfuchsen wie man braucht um sein eigenes Script zum laufen zu bringen. Meine Empfehlung: https://github.com/PHPMailer/PHPMailer
-
Also bei mir hat es gleich beim ersten Versuch problemlos funktioniert
http://javaphp.lima-city.de/test/img1.png
http://javaphp.lima-city.de/test/img2.png
Hier das was ich getan habe, vielleicht kann es dich ja doch noch zu einer Library überreden!
Du hast damit echt weniger Probleme.
1.Schritt:
SwiftMailer runterladen (rechts unten auf der seite gibts den zip downlad)
2.Schritt:
Entpacken und den Ordner "lib" bei dir auf den Webspace hochladen
Swiftmailer
https://github.com/swiftmailer/swiftmailer
3.Schritt:
Formular erstellen. Eventuell hast du "wrap" vergessen? Ich hab wrap="physical"
Mein Formular:
<form action="send.php" Method="post"> Ihr Name:<br> <input name="name" size="40"><br><br> E-Mail:<br> <input name="email" size="40"><br><br> betreff:<br> <input name="betreff" size="40"><br> <br><br> Inhalt:<br> <textarea name="message" cols="40" rows="12" wrap="physical"></textarea><br> <input type="submit" value="Absenden"> </form>
4.Schritt:
Der gesamte Code zum senden der Email!
Wie du siehst ist es extrem wenig zum selber schreiben.
Mein Senden Skript
require_once 'lib/swift_required.php'; // Create the message $message = Swift_Message::newInstance() ->setSubject($_POST['betreff']) ->setFrom(array($_POST['email'] => $_POST['name'])) ->setTo(array('xxx@gmail.com')) ->setBody($_POST['message']) ; $transport = Swift_MailTransport::newInstance(); // Create the Mailer using your created Transport $mailer = Swift_Mailer::newInstance($transport); $result = $mailer->send($message);
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage