SatansEier Geschrieben 25. April 2007 Geschrieben 25. April 2007 Hallo:) Die Hennen rennen mal wieder im Kreis. Über nen däftigen Stoß auf den Hinterkopf hät ich nichts einzuwenden. Ich schreib atm an nem Mailscript das nicht richtig laufen will. Lustig find ich das ich im internen Netz Mails damit verschicken kann, aber alles was raus soll geblockt wird. Mein Provider ist Strato und dessen SMTP hab ich auch der INI eingetragen (post.strato.de) Warning: mail() [function.mail]: Failed to connect to mailserver at "post.strato.de" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in ... Warning: mail() [function.mail]: SMTP server response: 501 5.1.7 Error parsing address: < in ... [/PHP] Die stark abgespeckt Version des Scripts mit jedem "header" den ich schon ausprobiert hab: [PHP] function mailTo($empfaenger, $betreff, $name, $absender, $text) { // __Übernahme von Parametern__ $newEmpfaenger = trim($empfaenger); $newBetreff = trim($betreff); $newName = trim($name); $newAbsender = trim($absender); $newText = trim($text); // Header zusammenbasteln //$header = "FROM: $newName <$newAbsender>\r\n"; //$header = "FROM: ".$newName." <".$newAbsender.">\r\n"; //$header .= "From: \"".$newAbsender."\"\n"; $header .= "Content-Type: text/html\r\n"; $header .= "Content-Transfer-Encoding: 8bit\r\n"; // Briefkopf $kopf = "<table><tr>\n"; $kopf .= "<td>Datum: ".date('j.n.Y')."</td>\n"; $kopf .= "<td style='padding-left: 10px;'>Von: $absender</td>\n"; $kopf .= "</tr><tr>\n"; $kopf .= "<td>Uhrzeit: ".date('H:i')."</td>\n"; $kopf .= "<td style='padding-left: 10px;'>An: $empfaenger</td>\n"; $kopf .= "</tr></table>\n"; $brief = $kopf.$umbruch.$newText.$umbruch.$umbruch.$footer; mail($newEmpfaenger, $newBetreff, $brief, $header) } mailTo("blub@moep.de", "Ein Betreff", "Mein Name", "MeineEmail", "balla bla la hallo"); Fällt einem was auf ...vllt der Fehler? *gg*
geloescht_JesterDay Geschrieben 25. April 2007 Geschrieben 25. April 2007 Fällt einem was auf ...vllt der Fehler? *gg* Deinem HTML-Inhalt fehlt der DTD und allgemein das HTML-Grundgerüst. Auf was für einem System läuft das Skript? \r\n ist nur bei Windows + Novell als Zeilenumbruch ok, ein unixoides System benutzt \r als Zeilenumbruch. Das wär z.B. ein Punkt. Ansonsten zeig mal eine "fertige" Mail deines Skripts, also: $EOL = "\r\n"; ... echo $header.$EOL.$EOL.$brief; [/php] Das ist dann das, was der SMTP-Server bekommt und verarbeitet (+ Subject und Empfänger im Header).
SatansEier Geschrieben 25. April 2007 Autor Geschrieben 25. April 2007 danke, noch bekomm ich aber den selben fehler. hab`s um folgendes erweitert: if (strtoupper(substr(PHP_OS,0,3)=='WIN')) { $eol="\r\n"; } elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) { $eol="\r"; } else { $eol="\n"; } // Header zusammenbasteln $header = "FROM: $newName <$newAbsender>.$eol"; //$header = "FROM: ".$newName." <".$newAbsender.">".$eol; //$header .= "From: \"".$newAbsender."\"".$eol; $header .= "Content-Type: text/html".$eol; $header .= "Content-Transfer-Encoding: 8bit".$eol; // Briefkopf $kopf = "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'>".$eol; $kopf .= "<html>".$eol; $kopf .= "<head>irgendwas</head>".$eol; $kopf .= "<body>".$eol; $kopf .= "<table><tr>".$eol; $kopf .= "<td>Datum: ".date('j.n.Y')."</td>".$eol; ; $kopf .= "<td style='padding-left: 10px;'>Von: $absender</td>".$eol; $kopf .= "</tr><tr>".$eol; $kopf .= "<td>Uhrzeit: ".date('H:i')."</td>".$eol; $kopf .= "<td style='padding-left: 10px;'>An: $empfaenger</td>".$eol; $kopf .= "</tr></table>\n"; $brief = $kopf.$eol.$newText.$eol.$eol.$footer; $blub = mail($newEmpfaenger, $newBetreff, $brief, $header); [/PHP]
geloescht_JesterDay Geschrieben 25. April 2007 Geschrieben 25. April 2007 Und wie sieht die Mail jetzt komplett aus, als Text? Und soweit ich weiß wird bei Linux \r benutzt, nicht \n... oder verwechsel ich das? Ich hab AFAIR immer \r benutzt. EDIT: Ach ja, wenn du hier im Forum suchst, findest du bestimmt den ein oder anderen Beitrag von mir, wo ich genau erklärt hab wie so eine Mail aussehen musst und aufgebaut sein muss. Bei mir funktioniert die Suche im Moment aber nicht, keine Ahnung woran das liegt.
Amstelchen Geschrieben 25. April 2007 Geschrieben 25. April 2007 Warning: mail() [function.mail]: Failed to connect to mailserver at "post.strato.de" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in ... Warning: mail() [function.mail]: SMTP server response: 501 5.1.7 Error parsing address: < in ... ich rate jetzt wieder einmal und versuche, bei drei treffern zumindest einen zu versenken: - post.strato.de nimmt mails nur nach SMTP-after-POP (oder bei vorheriger korrekt stattgefundener authentifizierung) an. - post.strato.de nimmt von deinem host, auf dem PHP läuft, aus anderern unerfindlichen gründen, keine mails an. - SMTP 501 weist auf eine nicht korrekte angabe der mailadresse, wahlweise der "from" oder der "to" hin; verursacht wird das möglicherweise durch fehlende ober überschüssige zeichen wie <, >, @ und anführungszeichen ("). wie JesterDay schon gemeint hat, poste bitte mal den kompletten inhalt des SMTP-envelopes. s'Amstel
Eupinkepank Geschrieben 26. April 2007 Geschrieben 26. April 2007 Das hier ist die Beschreibung der Mail Funktion: function mail( string $to, string $subject, string $message, string[optional] $additional_headers, string[optional] $additional_parameters) [/PHP] Um also zu prüfen ob der Mail Server überhaupt korrekt eingerichtet ist, schreibe eine kurze Datei mit diesem Inhalt: [PHP] <? mail("deinemail@deinprovider.de","Das ist ein Test","Kuckuck, da bin ich"); ?> Kommt auch da ein Fehler, so ist Dein Mail Server nicht korrekt eingerichtet. Entsprechendes verrät Dir der Aufruf von phpinfo(); Poste mal den Link zu einer Datei die den Aufruf "phpinfo();" enthält... Dann kann Dir geholfen werden.
SatansEier Geschrieben 26. April 2007 Autor Geschrieben 26. April 2007 mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in okay du hast vermutlich recht das, dass an den einstellung liegt. link zu phpinfo()
Eupinkepank Geschrieben 26. April 2007 Geschrieben 26. April 2007 Hier ist der Fehler: sendmail_from no value no value sendmail_path no value no value Ist ja eine xampp installation... Warum installierst Du es nicht "richtig"?
SatansEier Geschrieben 26. April 2007 Autor Geschrieben 26. April 2007 danke mann! ich hab halt xampp installiert und nahm an das alles passt was versteht man unter "sendmail_path"?
geloescht_JesterDay Geschrieben 26. April 2007 Geschrieben 26. April 2007 was versteht man unter "sendmail_path"? sendmail_path string Pfad, in dem sich das sendmail-Programm befindet, z.B. /usr/sbin/sendmail oder /usr/lib/sendmail. configure versucht, die richtige Position automatisch zu finden. Falls die automatische Erkennung aber fehlschlägt und der Standardwert auf Ihrem Rechner falsch ist, dann können Sie hier den richtigen Pfad setzen. Falls Sie auf Ihrem Rechner sendmail nicht benutzen, müssen Sie den Pfad angeben, in sich der sendmail-Wrapper/-Ersatz befindet, sofern vorhanden. Zum Beispiel können » Qmail-Benutzer diese Option auf /var/qmail/bin/sendmail oder /var/qmail/bin/qmail-inject setzen. qmail-inject benötigt keine Optionen, um Mails korrekt zu verarbeiten. Diese Option funktioniert auch unter Windows. Wenn Sie gesetzt ist, werden smtp, smtp_port und sendmail_from ignoriert und das angegebene Kommando wird ausgeführt. Hier werden sie geholfen
Amstelchen Geschrieben 26. April 2007 Geschrieben 26. April 2007 was versteht man unter "sendmail_path"? den pfad zum sendmail-binary, üblicherweise /usr/sbin/sendmail mit parameter -t, um die headerzeilen für den adressaten korrekt mitzugeben. s'Amstel
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden