Dies wird eine Fortsetzung des Website-Änderungsantragsformulars sein, das wir hier schon seit einiger Zeit verwenden. Wenn Sie auf dem Laufenden bleiben müssen, habe ich zuerst darüber gesprochen, dann habe ich es erstellt, dann habe ich es im Screencast gezeigt, dann habe ich es gesichert. Während all dessen war das Endergebnis eine langweilige reine Text-E-Mail, die an eine einzige E-Mail-Adresse gesendet wurde.
Wir werden diese Ausgabe verbessern und die E-Mail in eine ansprechendere HTML-formatierte E-Mail umwandeln.

Es ist kaum anders als eine reine Text-E-Mail
Das Senden von HTML-E-Mails über PHP verwendet genau die gleichemailFunktion wie für reine Text-E-Mails
mail($to, $subject, $message, $headers);
Der letzte Parameter, die Kopfzeilen, sind für die Funktion optional, aber für das Senden von HTML-E-Mails erforderlich, da wir hier die Content-Type-Deklaration übergeben können, die E-Mail-Clients anweist, die E-Mail als HTML zu parsen.
Tatsächlich bietet der Kopfzeilenbereich die Möglichkeit, viele wichtige E-Mail-Funktionen auszuführen. Hier können wir die Einstellungen "Von:" und "Antworten an:" bei Bedarf festlegen, sowie CC und BCC an andere Empfänger senden (Hey, eine Checkbox zum CC an sich selbst wäre eine coole Funktion!). Hier ist der Code für das neue und verbesserte HTML-Sendende Website-Änderungsantragsformular
$to = '[email protected]';
$subject = 'Website Change Request';
$headers = "From: " . strip_tags($_POST['req-email']) . "\r\n";
$headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "\r\n";
$headers .= "CC: [email protected]\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
Jetzt können wir HTML-Tags verwenden
Der Nachrichtenparameter (ein großer String, den wir dermailFunktion mit dem E-Mail-Inhalt übergeben), kann nun HTML-Tags enthalten. Zum Beispiel
$message = '<html><body>';
$message .= '<h1>Hello, World!</h1>';
$message .= '</body></html>';
Hier ist das ganze Paket, um die Datentabelle wie oben gezeigt zu erstellen
$message = '<html><body>';
$message .= '<img src="//css-tricks.de/examples/WebsiteChangeRequestForm/images/wcrf-header.png" alt="Website Change Request" />';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$message .= "<tr style='background: #eee;'><td><strong>Name:</strong> </td><td>" . strip_tags($_POST['req-name']) . "</td></tr>";
$message .= "<tr><td><strong>Email:</strong> </td><td>" . strip_tags($_POST['req-email']) . "</td></tr>";
$message .= "<tr><td><strong>Type of Change:</strong> </td><td>" . strip_tags($_POST['typeOfChange']) . "</td></tr>";
$message .= "<tr><td><strong>Urgency:</strong> </td><td>" . strip_tags($_POST['urgency']) . "</td></tr>";
$message .= "<tr><td><strong>URL To Change (main):</strong> </td><td>" . $_POST['URL-main'] . "</td></tr>";
$addURLS = $_POST['addURLS'];
if (($addURLS) != '') {
$message .= "<tr><td><strong>URL To Change (additional):</strong> </td><td>" . strip_tags($addURLS) . "</td></tr>";
}
$curText = htmlentities($_POST['curText']);
if (($curText) != '') {
$message .= "<tr><td><strong>CURRENT Content:</strong> </td><td>" . $curText . "</td></tr>";
}
$message .= "<tr><td><strong>NEW Content:</strong> </td><td>" . htmlentities($_POST['newText']) . "</td></tr>";
$message .= "</table>";
$message .= "</body></html>";
Ich finde das sieht VIEL besser aus. Und da diese E-Mail (theoretisch) direkt an Sie gesendet wird, ist es nicht schön zu wissen, dass sie so formatiert sein wird, dass sie angenehm für die Augen ist?
Bedenken
Manche Leute hassen HTML-E-Mails absolut. Erstens können sie ein Sicherheitsrisiko darstellen, da in manchen E-Mail-Clients JavaScript ausgeführt werden kann, was problematisch sein kann. HTML-E-Mails haben auch die Angewohnheit, leichter in Spam-Filtern hängen zu bleiben. Ich denke, das ist hier weniger ein Problem, da diese E-Mail im Wesentlichen VON Ihnen FÜR Sie erstellt wird.
Demo
Ich habe die Demo und den Download aktualisiert, um das neue HTML-E-Mail-Format zu verwenden.
Demo ansehen Dateien herunterladen
Es werden wahrscheinlich noch ein oder zwei weitere Demos zu diesem Formular folgen. Ich möchte zumindest eine zur Speicherung der Daten in einer Datenbank erstellen, bevor die E-Mail gesendet wird. E-Mails können eine so fragile Sache sein, dass das Speichern der Daten zuerst in einer DB sicherlich ein kluger Schachzug ist.
Bei HTML-E-Mails gehe ich den Extraweg und verwende eine Vorlagendatei mit dem HTML und den notwendigen Variablenmarkierungen. So ist mein HTML von meinem PHP getrennt und es ist viel einfacher, einfache Änderungen am Aussehen der E-Mails vorzunehmen.
Ich kann Ihnen gar nicht sagen, wie oft ich schon HTML innerhalb einer PHP-Variable oder einer Echo-Anweisung bearbeiten wollte, nur um zu vergessen, einen Schrägstrich vor ein doppeltes Anführungszeichen zu setzen und dann eine nervige Fehlermeldung zu bekommen.
Verwenden Sie ein einzelnes Anführungszeichen – funktioniert bei mir immer gut
Ich auch
Heredoc funktioniert noch besser, obwohl es schön ist, es in einer separaten Datei zu haben, aber dann einfach ein paar einfache Ersetzungszeichenketten für Variablen einzurichten.
http://php.net/manual/en/language.types.string.php
Ich war ganz aufgeregt wegen Nowdoc, aber es ist noch nicht erschienen. Bei dieser Geschwindigkeit wird es erst mit PHP 6 stabil.
Ich möchte eine E-Mail über PHP senden, aber es funktioniert nicht. Ich weiß nicht, was ich tun soll, bitte helfen Sie.
Sehr guter Artikel, ich habe letzte Woche tatsächlich jemanden nach Tipps für HTML-E-Mails gefragt. Danke!
Gut gemacht, Chris. Nur eine kleine Ergänzung: Du solltest dir wirklich die PHPMailer-Bibliothek ansehen: Sie ist besser und einfacher als die „normale“ mail()-Funktion.
Sie können einfach eine neue Instanz erstellen
$var = new phpMailer();
Auf HTML setzen
$var->useHTML(true);
Dann den Inhalt hinzufügen
$var->body(); // Mail-Zeug hier
Und senden!
$var->send();
(Das ist nur aus dem Gedächtnis, die Funktionsnamen könnten anders sein)
Ich habe früher ein Skript ähnlich wie Chris verwendet, aber jetzt benutze ich Zends Validierungs- und Mail-Klasse, um die E-Mail zu senden. Sie kümmert sich um alles, Fehlerbehandlung usw. Sie können sogar eine reine Textversion angeben, es ist ziemlich einfach.
So kurz ist es.
require_once ‘Zend/Mail.php’;
$mail=new Zend_Mail();
require_once ‘Zend/Validate/EmailAddress.php’;
$validator=new Zend_Validate_EmailAddress();
if($validator->isValid($_POST[’email’]))
{
// reine Textversion, also Tags entfernen
$mail->setBodyText(strip_tags($_POST[‘message’]));
// HTML-Version
$mail->setBodyHtml($_POST[‘message’]);
$mail->setFrom($_POST[’email’],’sender name’]);
$mail->addTo(‘[email protected]’,”receiver’s name”);
$mail->setSubject(‘Subject goe heere’);
// E-Mail senden
$mail->send();
}
else
{
foreach($validator->getMessages() as $errorMessage)
{
echo “$errorMessage”;
}
}
Die Fehler sagen dem Benutzer genau, was mit der E-Mail nicht stimmt, wenn sie nicht gültig ist. Sie können unerwünschte Tags wie JavaScript-Tags und/oder Links mit der Funktion strip_tags entfernen.
Robert, ich mag deine Idee, bin mir aber nicht sicher, wie ich sie genau umsetzen soll. Wenn du eine HTML-E-Mail-Vorlage hast, wie integrierst du sie in die PHP-Datei und übergibst Variablen an sie?
Gibt es Links/Anleitungen, auf die du mich hinweisen könntest?
Die von mir verwendete Funktion lädt einfach eine Datei und ersetzt dann Variablen in dieser Datei (in meinem Fall sind Variablen in Klammern wie {TITLE} oder {BODY} eingekapselt) durch die angegebenen Ergebnisse (z. B. {TITLE} => $foo oder {TITLE} => „Meine Homepage“).
Da ich dazu neige, als $variableName = callToMyFunction(„filename.tmpl“); auszugeben, enthält $variableName bereits den gesamten HTML-Code… so einfach ist das.
Kudos für die Verwendung von „its“ anstelle von „it’s“ als Schwerpunkt Ihrer Demonstration.
Es ist der Fluch so vieler sonst kluger Entwickler.
http://tr.im/itsits
Ähm, du bekommst viel Spam, richtig?
strip_tags soll die Absenderadresse usw. bereinigen, richtig? Falsch! Denken Sie daran, wie SMTP funktioniert. \n\r kann Header einschleusen, Sie müssen diese filtern. Ein einzelner Punkt in einer Zeile kann die DATEN-Transaktion beenden. Sie müssen diese filtern.
Ich empfehle Ihnen, die Hinweise auf der Manualseite zu lesen:-
http://uk.php.net/manual/en/function.mail.php
Fantastischer Artikel. Ich bin gerade dabei, ein Kontaktformular zu erstellen, das wird also sehr hilfreich sein.
Ich stimme Marco zu. Leute sollten Drittanbieterbibliotheken wie PHPMailer oder Swift in Betracht ziehen, anstatt die reine mail()-Funktion von PHP zu verwenden, insbesondere wenn sie SMTP-Authentifizierung nutzen möchten. Aber trotzdem ein gutes Beispiel für Anfänger.
Hätte das vor 3 Tagen nutzen können. :)
Toller Artikel! Ich habe jedoch eine Frage: Wie würden Sie es einrichten, sowohl HTML-E-Mails als auch reine Text-E-Mails in derselben Nachricht zu senden? Ich weiß, dass es möglich ist, habe es aber noch nie herausgefunden.
Schauen Sie sich dieses Tutorial an http://www.sitepoint.com/print/advanced-email-php/ oder verwenden Sie einfach phpmailer.
Sie müssen die Variablen $mail->Body (HTML-Text) und $mail->AltBody (reiner Text) setzen, um Multipart-Mails zu senden.
Guter Artikel. Er ist jedoch anfällig für E-Mail-Injektion
Das Vorhandensein von strip_tags hier
$headers = “From: ” . strip_tags($_POST[‘req-email’])
hilft nicht viel.
Es entfernt nur HTML-Tags, nicht \r\n
Sie müssen req-email nach \r\n filtern
Wenn Sie ein kleines Ersetzungsskript für diesen Bereich haben, wäre ich dankbar, und ich werde das Beispiel und den Download aktualisieren.
So wie das
$req-email = $_POST[‘req-email’];
$req-email = preg_replace(‘=((||0x0A/%0A|0x0D/%0D|\\n|\\r)\S).*=i’, null, $req-email);
$headers = “From: $req-email\r\n”;
$headers .= “Reply-To: $req-email\r\n”;
preg_replace(‘/[^a-zA-Z0-9\._\-@]/’,”,$_POST[‘req-email’])
würde alle Zeichen ersetzen, die in einer E-Mail-Adresse nicht erlaubt sind. Ich würde jedoch immer noch ein umfassenderes preg_match empfehlen, um auch die Struktur eines ordnungsgemäßen E-Mail-Formats zu bestimmen.
Ich konnte keines von beiden zum Laufen bringen. Ich habe sie kopiert und eingefügt und die dummen WordPress-Anführungszeichen in gerade umgewandelt, aber nichts. Vielleicht ist beim Posten etwas schiefgelaufen. Ich weiß nicht genug über RegEx, um es selbst zu debuggen, aber wenn ich es lerne, werde ich versuchen, es zu integrieren.
Ich habe gerade etwas Ähnliches gepostet, außer dass ich das Senden einer Nachricht mit HTML- und reinen Textversionen abgedeckt habe.
Ich habe auch die E-Mail-Adressen validiert, um sicherzustellen, dass nichts explodiert. Die Regex dort funktioniert.
LINK
Guter Artikel!
Ausgezeichnet.
Nur zur Information, ich habe dies gestohlen und implementiert, so dass das From:-Geschäft jetzt schön und bereinigt und sicher ist.
Ich stimme den anderen Kommentaren zu und empfehle phpMailer. MIME-Nachrichten sehen gut aus, aber was ist, wenn der Empfänger kein MIME hat oder sich entschieden hat, MIME nicht anzuzeigen. Ich glaube, gute Praxis ist es, MIME- und Textversionen einer E-Mail zu verwenden, was phpMailer erheblich vereinfacht.
Microsoft hat jedoch einen Rückzieher von HTML-E-Mails gemacht und verwendet jetzt Word als Rendering-Tool für E-Mails, was weitaus restriktiver ist. Wenn viele E-Mail-Empfänger aus der Unternehmenswelt stammen, sollten Sie die Überlegungen von Campaign Monitor zu diesem Thema lesen.
Ich persönlich bin wieder auf reine Text-E-Mails zurückgefallen, da dies die ursprüngliche Absicht der Entwickler war. Die E-Mail ist kleiner, wird wahrscheinlich richtig gerendert und wenn ich jemanden *wirklich* beeindrucken muss, verlinke ich einfach auf eine Webversion der Übertragung. So funktionieren die PHP-mail-Funktion und eine Regex zum Ersetzen von Vorlagenvariablen bei mir jedes Mal.
Vergessen Sie nicht den Kontext. In seinem spezifischen Beispiel generiert er eine HTML-E-Mail an sich selbst, daher gibt es keinen Grund, für alle empfangenden Plattformen zu programmieren.
Ich mache etwas, das meiner Meinung nach gut funktioniert, um zu verhindern, dass Ihr E-Mail-Client E-Mails von Ihrer Website als Spam markiert.
Setzen Sie einfach die "Von:"-Kopfzeile auf etwas wie '[email protected]' und setzen Sie dann die "Antworten an:"-Kopfzeile wie gewohnt auf die E-Mail-Adresse des Benutzers.
Jetzt können Sie einfach '[email protected]' zu Ihren Kontakten hinzufügen und Sie erhalten immer Ihre E-Mails, können aber trotzdem auf antworten klicken und sie wird an die richtige E-Mail-Adresse gesendet.
Setzen Sie niemals die "Von:"-Kopfzeile auf die E-Mail-Adresse des Benutzers! Sie könnten von Spamfiltern aufgrund von SPF (http://en.wikipedia.org/wiki/Sender_Policy_Framework) blockiert werden. Das Schlimmste wäre, Ihre IP-Adresse zu sperren.
http://www.html-form-guide.com/email-form/php-script-not-sending-email.html
Der Artikel unter dem obigen Link erklärt es sehr gut. Kurz gesagt, ja, setzen Sie "Von:" auf eine Adresse, für die der Server senden darf. Setzen Sie "Antworten an:" auf alles, was Sie möchten – z. B. auf die Adresse des Formularübermittlers.
Ich habe das noch nicht einmal durchgelesen, aber ich weiß, dass es großartig sein wird. Danke im Voraus, Chris!
Ich habe bisher nur die reine Version verwendet, aber es ist Zeit für eine Veränderung ;)
Es tut mir leid, aber ich sehe nicht wirklich, was hier neu ist? HTML-E-Mails gibt es schon ewig...
Außerdem haben Sie in Ihrer E-Mail ein Bild von Ihrer Domain ("
Es ist ziemlich beunruhigend, dass Leute Tutorials schreiben und doch scheinbar unfähig sind, anständigen Code zu schreiben. Ich dachte (oder hoffte zumindest), dass alle Programmierer mit einem halben Gehirn inzwischen ein vernünftiges Verständnis von E-Mail-Headern hätten... nun ja, ich nehme an, das eigentliche Tutorial wird für viele Anfänger sehr nützlich sein – obwohl das Zeigen, wie man spam-anfällige Formulare erstellt, keine sinnvolle Praxis ist.
Hallo Chris,
Guter Artikel, aber ich denke, Sie sollten auch erwähnen, dass Sie keine Divs und Floats in E-Mail-Vorlagen verwenden sollten, sondern stattdessen Tabellen und Inline-Stile. Ich weiß, dass Sie das verwendet haben, aber ich sage nur, dass Sie Ihre Leser erwähnen sollten, warum Sie das tun... nämlich weil all unsere E-Mail-Clients noch im Steinzeitalter stecken :)
Danke für diesen Kommentar. Ich habe Schwierigkeiten gehabt, meine E-Mail mit Divs zu formatieren. Und Chris, danke für den Beitrag.
Ich freue mich, dass ich helfen konnte :)
$message = '';$message .= '';
$message .= '';
$message .= "Name: " . strip_tags($_POST['req-name']) . "";
$message .= "E-Mail: " . strip_tags($_POST['req-email']) . "";
$message .= "Art der Änderung: " . strip_tags($_POST['typeOfChange']) . "";
$message .= "Dringlichkeit: " . strip_tags($_POST['urgency']) . "";
$message .= "URL zur Änderung (hauptsächlich): " . $_POST['URL-main'] . "";
$addURLS = $_POST['addURLS'];
if (($addURLS) != '') {
$message .= "URL zur Änderung (zusätzlich): " . strip_tags($addURLS) . "";
}
$curText = htmlentities($_POST['curText']);
if (($curText) != '') {
$message .= "AKTUELLE Inhalte: " . $curText . "";
}
$message .= "NEUE Inhalte: " . htmlentities($_POST['newText']) . "";
$message .= "";
$message .= "";
anstatt das zu tun... wie wäre es mit einem Heredoc
$name = strip_tags($_POST['req-name']) ;
$email = strip_tags($_POST['req-email']);
$typeChange = strip_tags($_POST['typeOfChange']);
$urgency = strip_tags($_POST['urgency']);
$urlMail = $_POST['URL-main'];
$addURLS = ($_POST['addURLS'] != NULL) : "URL zur Änderung (zusätzlich): " . strip_tags($_POST['addURLS']) . "";
$curText = (htmlentities($_POST['curText']) == NULL) : "AKTUELLE Inhalte: " . htmlentities($_POST['curText']) . "" ;
$newText = htmlentities($_POST['newText']);
$message = <<<EOD
Name: $name";
E-Mail: $email
Art der Änderung: $typeChange
Dringlichkeit: $urgency
URL zur Änderung (hauptsächlich): $urlMail
$addURLS
$curText
NEUE Inhalte: $newText";
EOD;
Speichern Sie diese Teile, und es ist einfacher zu lesen und zu verwenden....
Hallo Chris,
Gute Erklärung. Ich muss es ausprobieren, hoffe, es funktioniert gut für mich :)
Danke
Sankar
Um die Web-Zugänglichkeit zu verbessern, könnten Sie das accesskey-Attribut zum label-Tag hinzufügen.
Ich benutze phpmailer dafür und es funktioniert gut. Ich schlage vor, E-Mails im kombinierten Format (reiner Text/HTML) zu senden.
Wie hast du es zum Laufen gebracht? Ich konnte nicht.
Ich habe die Kontaktinformationen geändert und immer noch nichts. Irgendwelche Ideen?
Ich glaube, es gibt ein Problem mit dem URL-Feld. Ich weiß, was eine URL ist und wie man sie formatiert, aber wie viele unserer Kunden wissen das? Ich denke, das Feld ist zu restriktiv, da es http und www verlangt, um dieses Feld zu validieren.
Wow, ich hatte gerade Probleme mit HTML-E-Mails mit PHP und dann bin ich auf diese Seite gestoßen. Gute Arbeit. Du hast mir bei einigen Problemen geholfen!
Für diejenigen, die PHPMailer empfehlen, werfen Sie einen Blick auf SwiftMailer. Es bietet die gleiche Art von Funktionalität, aber in (meiner Meinung nach) einer viel besser gestalteten Klassensammlung.
Leeeeeeeerrrrrrrrrrooooooooooyyyyyyyyyyyy Jeeeeennnnnnnkkkkkiiiiiiiinnnnnssssss
Hat nichts mit dem Artikel zu tun, musste es nur sagen!!!
Guter Beitrag, es ist eine sehr einfache Methode, HTML-E-Mails zu formatieren!
Eine weitere Funktion zur E-Mail-Überprüfung
http://www.phpinform.com/2009/06/17/another-function-to-check-email/
Hier ist ein kleiner Trick, den ich gelernt habe. Wenn Sie Ihre HTML-Datei nicht in viele Variablen aufteilen möchten, können Sie Folgendes tun...
$html = <<< newsletter
$message…
newsletter;
mail($email, $subject, $html, $headers);
Hat jemand eine PHP4-Version? Mail wird nur erfolgreich gesendet, wenn PHP5 ausgeführt wird.
Wie kann man PHP-Inhalte in $body einfügen?
Ich werde den Titel der Nachricht von einem Formular auf einer anderen Seite abrufen und ihn per POST auf der Seite "send_newsletter" senden.
Ich werde dann den Titel, den ich auf der anderen Seite geschrieben habe, in den E-Mails, die versendet werden, anzeigen müssen.
Wie kann das gemacht werden?
Danke
Hallo Chris,
Ausgezeichnetes Formular, das Sie hier haben.
Ich verfolge es seit der ersten Version und dies ist ein ziemlich cooles Endergebnis.
Ein kleiner Fehler, den ich bei der Anpassung entdeckt habe.
in "index.php" in Zeile 135 haben Sie einen Punkt (".") bei der zweiten Zeile von $message vergessen... das führt dazu, dass er nicht Teil der gesendeten Nachricht ist.
nicht, dass die zweite $message auch = statt .= ist.
Im Übrigen... großartiges Formular, das Beste, was ich bisher gesehen habe.
—
TeMc
Ausgezeichnet, gut bemerkt, danke. Ich habe den Artikel und den Download aktualisiert.
Hallo CSS-Tricks,
Ich habe dieses Formular für die Website eines Freiberuflers verwendet und musste die E-Mail-Ausgabe anpassen. Ich dachte, ich teile meine Vorgehensweise.
In der HTML-E-Mail für alle einzeiligen Felder (wie Namen, Adressen usw.) ist dies
und für die Textbereiche
stripslashes entfernt störende Schrägstriche/Ausrufezeichen, wo Anführungszeichen sind, die je nach Server- und Framework-Einstellungen automatisch dort platziert werden.
nl2br ist praktisch, um Zeilenumbrüche beizubehalten, die in den Textbereichen des Formulars eingegeben wurden.
Für Nicht-Textbereiche entfernt die trim-Funktion Zeilenumbrüche und Leerzeichen am Anfang und Ende.
—
Meine 2 Cent,
Krinkle
Ich verwende php pear, um eine E-Mail zu senden. Wie kann ich auf diese Weise eine HTML-formatierte E-Mail senden? Ich habe viel versucht, aber alles ist fehlgeschlagen. Können Sie mir helfen?
Hallo, ich bin neu in der Webentwicklung, ich suche nach einem Code, mit dem ich E-Mails an eine E-Mail-ID mit einem bestimmten Format senden kann.
Wenn ich HTML-Tags in den E-Mail-Text einfüge, werden diese Tags als Text in der E-Mail angezeigt.
Helfen Sie mir und sagen Sie mir, wie ich eine E-Mail mit Format sende.
Grüße
vikas siwach
Funktioniert perfekt!
Danke
Hallo Chris,
Schönes Tutorial. Können Sie bestätigen, ob es eine Beschränkung für die Anzahl der Zeichen im E-Mail-Text gibt oder eine begrenzte Anzahl von Zeilen für eine Tabelle im E-Mail-Text beim Senden von E-Mails mit der PHP-mail-Funktion?
Wenn ja, wie kann ich das Limit erhöhen?
Ist es notwendig, die Nachricht in einer Tabelle darzustellen? (Habe gerade mit dem Senden von E-Mails begonnen.)
Vielen Dank, Chris, Sie machen großartige Arbeit!! :)
Hallo Chris,
Ich habe zwei Tippfehler entdeckt, nicht sehr wichtig, nur für den Empfänger-Entwickler oder
den Mittelsmann zwischen Entwickler und Website-Besitzer, der diese Anfragen erhält.
Sie befinden sich nicht in Kommentar-Tags und auch nicht in Variablennamen.
Zeile 28
IP-Adresse: {$ip} \n
// Adresse
Zeile 173
$subject = ‘Website Change Reqest’;
// Anfrage
fehlt komplett, überall, gar nicht. Weiß nicht wie es euch geht, aber ich brauche es und nutze es. Außerdem ist meine Präferenz auch phpmailer. Es gibt keinen Grund, Stunden und Stunden und Stunden damit zu verschwenden, eine Funktion zu erfinden, wenn man nur 5 Minuten damit verbringen kann, ein perfektes Klassenset in phpmailer zu nutzen. Nur meine 5 Cent am Rande :-) Die Zeit wird zu kostbar, wenn man älter wird, also kann ich es mir nicht mehr leisten, sie zu verschwenden.