![]() |
Re: [PHP] Email senden
Hm. Gut. Dann lasse ich es erstmal so. Besten Dank für eure Hilfe. Hier noch mal das komplette Script:
Code:
<?php
/* Copyright (c) 2005: Michael Puff Url: [url]http://www.luckie-online.de[/url] Mail: [email]mpuff@luckie-online.de[/email] Version: 1.1 - 2005-11-07 */ define("TO", "mpuff@luckie-online.de"); function validate_email($email) { // Create the syntactical validation regular expression $regexp = "^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$"; // Presume that the email is invalid $valid = 0; // Validate the syntax if (eregi($regexp, $email)) { list($username,$domaintld) = split("@",$email); // Validate the domain if (getmxrr($domaintld,$mxrecords)) $valid = 1; } else { $valid = 0; } return $valid; } $headers = "MIME-Version: 1.0\r\n". "Content-Type: text/plain; charset=iso-8859-1\r\n". "From: \"Kontakt luckie-online.de\" <webmaster@luckie-online.de>\r\n". "To: ".TO." <".TO.">\r\n". "Date: ".date("r")."\r\n"; $msg = "Name : ".$_POST['yourname']."\n". "E-Mail : ".$_POST['from']."\n". "Betreff : ".$_POST['subject']."\n\n". $text; $msg = stripslashes($msg); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Homepage von Michael Puff</title> <link rel="stylesheet" type="text/css" href="/css/dir.css"> </head> <body> <h1>Homepage von Michael Puff</h1> <?php $dir = getcwd(); $start = strpos(strtolower($dir), '/html/')+5; $s = substr($dir, 0, $start); include $s.'/includes/nav.shtml'; include $s.'/includes/copyright.inc'; ?> <h2>E-Mail senden</h2> [img]/pics/line.png[/img] <?php if ((empty($from) || empty($text)) || (!validate_email($_POST['from']))) { echo " Bitte füllen Sie mindestens die Felder 'E-Mail Adresse' und 'Text' aus und überprüfen Sie ihre E-Mail Adresse auf Gültigkeit.</p>"; } else if (!mail($to, $_POST['subject'], $msg, $headers)) { echo ' Es ist ein Fehler beim Senden der E-Mail aufgetreten.</p>'; } else { echo ' Die E-Mail wurde erfolgreich gesendet.</p>'; } ?> [img]/pics/line.png[/img] <table class="tblfooter"> <tr> <?php echo '<td class="total"></td>'.'<td class="copy">'.$cr.'</td>'; ?> </tr> </table> </body> </html> |
Re: [PHP] Email senden
Ich würde dieses Sript auch gerne auf meiner Seite verwenden, nur weiß ich nicht wie ich es einbinde. Kann mir da jemand kurz helfen?
|
Re: [PHP] Email senden
*PUSH*
|
Re: [PHP] Email senden
Du brauchst eine HTML-Datei mit einer Form, die Daten dieser Form müssen dann an das PHP-Skript gehen.
|
Re: [PHP] Email senden
So, schöne Grüße von meinem Webhoster, das Script funktioniert nicht mehr so wie es soll. Heute Nacht hat mein Hoster irgendwas am Mailsystem gemacht, was hat er nicht gesagt, aber jeden falls zeigt mir Outlook nicht mehr an von wem die Mail ist. Im Webmail Interface wird alles korrekt angezeigt.
So sieht es zur Zeit aus:
Code:
Früher stand da immer in der "Von"-Spalte: Developer michael-puff.de jetzt ist sie aufeinmal leer. :wall:
<?php
/* Copyright (c) 2005: Michael Puff Url: [url]http://www.michael-puff.de[/url] Mail: [email]mpuff@michael-puff.de[/email] Version: 1.1 - 2005-11-07 */ define("TO", "mpuff@michael-puff.de"); function validate_email($email) { // Create the syntactical validation regular expression $regexp = "^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$"; // Presume that the email is invalid $valid = 0; // Validate the syntax if (eregi($regexp, $email)) { list($username,$domaintld) = split("@",$email); // Validate the domain if (getmxrr($domaintld,$mxrecords)) $valid = 1; } else { $valid = 0; } return $valid; } $headers = "MIME-Version: 1.0\r\n". "Content-Type: text/plain; charset=iso-8859-1\r\n". "From: \"Developer michael-puff.de\" <mpuff@michael-puff.de>\r\n". "To: ".TO." <".TO.">\r\n". "Date: ".date("r")."\r\n"; $msg = "Name : ".$_POST['yourname']."\n". "E-Mail : ".$_POST['from']."\n". "Betreff : ".$_POST['subject']."\n\n". $text; $msg = stripslashes($msg); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>michael-puff.de/E-Mail senden</title> <link rel="stylesheet" type="text/css" href="/css/stylesheet.css"> </head> <body> <div> <h1>Homepage von Michael Puff</h1> <?php $dir = getcwd(); $start = strpos(strtolower($dir), '/html/')+5; $s = substr($dir, 0, $start); include $s.'/includes/nav.shtml'; ?> <h2>E-Mail senden</h2> <?php if ((empty($from) || empty($text)) || (!validate_email($_POST['from']))) { echo " Bitte füllen Sie mindestens die Felder 'E-Mail Adresse' und 'Text' aus und überprüfen Sie ihre E-Mail Adresse auf Gültigkeit.</p>"; } else if (!mail($TO, $_POST['subject'], $msg, $headers)) { echo ' Es ist ein Fehler beim Senden der E-Mail aufgetreten.</p>'; } else { echo ' Die E-Mail wurde erfolgreich gesendet.</p>'; } ?> <hr> <table class="tblfooter"> <tr> <?php echo '<td class="left"></td>'; echo '<td class="right">Copyright © 2003 - '.date("Y").' [url="/impressum.php"]Michael Puff[/url]</td>'; ?> </tr> </table> </div> </body> </html> Und die Mail sieht jetzt so aus: Zitat:
Irgendwas läuft da schief. |
Re: [PHP] Email senden
Hat sich erledigt, der neue Dienst kommt mit \r\n nicht zurecht. Es muss strikt \n sein. Der alte hat es noch konvertiert. Jetzt geht alles wieder. ;)
|
Re: [PHP] Email senden
:warn: Die RFCs spezifizieren sowohl für POP als auch für SMTP \r\n als Zeilenendezeichen... Somit ist der Provider im Unrecht.
Obwohl ich nicht verstehe, was der Server dagegen hat, wenn an jedem Zeilenende \r steht :gruebel: |
Re: [PHP] Email senden
Was heißt unrecht? Das Programm ist höchstens nicht RFC konform, Recht hat der Hoster schon, wenn er sagt, dass das Mail-Programm mit \r\n nicht klar kommt.
|
Re: [PHP] Email senden
Jemand aus dem Webhosterforum meinte übrigens, dass das Script angreifbar wäre:
Zitat:
|
Re: [PHP] Email senden
Zeilenumbruch im Subject unterbinden, sollte in diesem Fall helfen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz