Mercury-Mailproblem

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Mercury-Mailproblem

Postby Tscheggi » 19. March 2007 07:46

Hallo,

ich hab ein kleines Problem mit dem Mercury womit ich überhaupt nich klar komm.
Ich arbeite seit längerem mit xampp um lokal meine php-Seiten zu testen.
Letzte Woche habe ich nun auch den Mercury aktiviert um den Mailversand auch noch lokal zu testen, was teilweise auch wunderbar klappt.
Nun mein Problem wo ich nicht mehr weiter weiß :
Ich arbeite mit dem pear-Mailpaket und versende auf meiner Seite 1 mehrere Mails, was im Mercury dann auch ersichtlich ist.
Auf einer zweiten Seite mache ich genau dasselbe, es werden jedoch keine Mails über den Mercury gesendet.
Da das Ganze online super funktioniert, kann ich einen Fehler innerhalb der programmierung ausschliessen.

Hat mir jemand nen Tip, wo ich noch nachschauen kann ?

Folgend vorsichtshalber mal der Code
Code: Select all
$mime = new Mail_Mime("\n");
$html = "mein Mailtext";
$mime->setHTMLBody($html);
$hdr = array(
       "From" => "test@localhost",
       "Subject" => "testmail"
         );

$body = $mime->get();
$hdr = $mime->headers($hdr);
$mail =& Mail::factory("mail");
$mail->send("test@localhost", $hdr, $body);


Vielen Dank schonmal im voraus für Eure Hilfe
Tscheggi[/code]
Tscheggi
 
Posts: 6
Joined: 19. March 2007 07:09

Postby Tscheggi » 19. March 2007 09:46

Servus,

bin dem Problem ein wenig näher gekommen.
Es liegt an der Pear-Mail-Klasse.
Ich hatte das Ganze ursprünglich mit einem Include reingemacht, nachdem ich mir die Mail-Klasse ein wenig genauer angesehen hab, habe ich festgestellt, daß er mit dem Mailversand nicht weiterkommt weil er einen "Fatal error: Cannot redeclare class Mail in E:\xampp\php\PEAR\Mail.php on line 33" bringt.

Ersetze ich nun den "Include" durch einen require_once, bleibt das Problem.
Nehme ich die Zeile komplett raus, kommt die Meldung "class not found".

Was ich trotzdem nicht kapier, wieso funzt das online ?

Gruß
Tscheggi
Tscheggi
 
Posts: 6
Joined: 19. March 2007 07:09

Postby Tscheggi » 20. March 2007 13:36

Hallo,
hat niemand nen Tip ?
Inzwischen habe ich mein Script zum Testen reduziert auf folgende Zeilen :

Code: Select all
<?php
include "Mail.php";
include "Mail/mime.php";

$mime = new Mail_Mime("\n");

$html = "<html><body bgcolor='#ffffff'>
<h1>test</h1>";
$mime->setHTMLBody($html);
$hdr = array(
 "From" => "test@test.de",
 "Subject" => "testmail"
);
$body = $mime->get();
$hdr = $mime->headers($hdr);
$mail =& Mail::factory("mail");
$mail->send("test@localhost", $hdr, $body);
?>


Der Fehler tritt auf in folgendem pear-Script :
Mail.php ind der function &factory bei dem Befehl :
@include_once 'Mail/' . $driver . '.php';
($driver = mail)
Nachdem ich das @ weggemacht hatte, wurde die Fehlermeldung auch ausgegeben.

Ich hoffe, daß mir mit diesen Angaben jemand helfen kann.

Beim Schreiben des Beitrages ist mir noch aufgefallen, daß das Script im root-Verzeichniss liegt. Sobald ich das in ein Unterverzeichniss kopiere, funktioniert es.

Viele Grüße
Tscheggi
Tscheggi
 
Posts: 6
Joined: 19. March 2007 07:09

Postby Wiedmann » 20. March 2007 14:54

Inzwischen habe ich mein Script zum Testen reduziert auf folgende Zeilen :

Dieses Script:
- nennt sich wie?
- liegt in welchem Verzeichnis?
- rufst du wie im Browser auf?
- Bei welcher Zeile in diesem Script tritt der Fehler auf?

Beim Schreiben des Beitrages ist mir noch aufgefallen, daß das Script im root-Verzeichniss liegt. Sobald ich das in ein Unterverzeichniss kopiere, funktioniert es.

Welches Script verschiebst du von wo nach wo?

ich hoffe, daß mir mit diesen Angaben jemand helfen kann.

- welche XAMPP-Version
- wie sieht dein PHP include_path aus?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Tscheggi » 20. March 2007 15:07

Hey,

danke für die Antwort.
Ich hatte gedacht in meinem letzten Beitrag alles sauber beschrieben zu haben.

Mein php-script heisst test.php und hat folgenden Inhalt :
Code: Select all
<?php
include "Mail.php";
include "Mail/mime.php";

$mime = new Mail_Mime("\n");

$html = "<html><body bgcolor='#ffffff'>
<h1>test</h1>";
$mime->setHTMLBody($html);
$hdr = array(
 "From" => "test@test.de",
 "Subject" => "testmail"
);
$body = $mime->get();
$hdr = $mime->headers($hdr);
$mail =& Mail::factory("mail");
$mail->send("test@localhost", $hdr, $body);
?>


Das Script liegt im Hauptverzeichniss also, unter localhost/test.php
Aufgeruffen wird es mit http://localhost/test.php
Der Fehler tritt nicht in diesem Script auf, sondern im pear-Mailpaket in der xampp/php/pear/MAIL.php in der Funktion &factory.

Wenn ich nun die test.php in ein Unterverzeichniss z.B. "tmp" verschiebe und dann aufrufe -> localhost/tmp/test.php
dann tritt der Fehler nicht mehr auf !

Xampp-Version : 1.0.6a
include_path : .;\xampp\php\pear\

Sodele, hoffe ich hab nun alles vollständig beschrieben.
Wie geschrieben, durch das verscheiben der test.php in ein Unterverzeichniss habe ich das Problem inzwischen gelöst bzw. umgangen, jedoch würde mich der vollständigkeithalber der Grund des Fehler interessieren.

Viele Grüße
Tscheggi
Tscheggi
 
Posts: 6
Joined: 19. March 2007 07:09

Postby Wiedmann » 20. March 2007 15:18

Das Script liegt im Hauptverzeichniss also, unter localhost/test.php

"localhost/test.php" ist eine URI. Das Verzeichnis wäre z.B. "E:\xampp\htdocs"?

Der Fehler tritt nicht in diesem Script auf,

Wenn du aber z.b. in diesem Script die Zeile mit "include "Mail.php";" weglässt, tritt genau dieser Fehler nicht mehr auf? (unabhängig davon, dass dann andere Fehler kommen.

Xampp-Version : 1.0.6a

Du meinst "1.6.0a"?

include_path : .;\xampp\php\pear\

Du hast XAMPP über das ZIP installiert (und das Setup nicht ausgeführt)?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Tscheggi » 20. March 2007 15:24

Hey,

ich roll mal Deine Fragen von hinten auf :

1. Ja ich habe über Zip auf einem USB-Stick installiert ohne das setup auszuführen (mir war so als ob in der Anleitung drinstand, daß dies nicht zwingend erforerlich ist)

2. Ja, ich meine die 1.6.0a

3. wenn ich den "include Mail.php" weglasse, kann der Fehler nicht mehr auftreten, da ihm ja dann genau die Klasse fehlt die für den Mailversand benutzt werden soll.
Es tritt dann der Fehler "class not found" oder so ähnlich auf

4. Das Verzeichniss ist wie von Dir vermutet : "e:\xampp\htdocs"

Danke und viele Grüße nach Stuttgart (von Leonberg)
Tscheggi
Tscheggi
 
Posts: 6
Joined: 19. March 2007 07:09

Postby Wiedmann » 20. March 2007 15:29

4. Das Verzeichniss ist wie von Dir vermutet : "e:\xampp\htdocs"

Gibt es da auch ein Verzeichnis "e:\xampp\htdocs\mail" mit irgend einem Inhalt?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Tscheggi » 20. March 2007 15:33

:lol: AAAAAAAAAAAHHHHHHHHHHHHHHHHHH :oops: :oops: :oops: :oops:

Vielen Dank für den Hinweis
Gruß
Tscheggi
Tscheggi
 
Posts: 6
Joined: 19. March 2007 07:09


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 41 guests