j4nk3y: XAMPP, Mercury einrichten

Salve zusammen,

Die ausgiebige Suche der letzten Tage hat bei mir auch nichts gebracht. Trotz diverser Foren (Fragen/Antworten) zum gleichen Thema, versagt jegliche Lösung bei mir.

Ich bekomme den Mercury einfach nicht dazu Mails zu verschicken. Nicht mit der eingebauten Mail Funktion und auch nicht durch PHP.

Das einzige was Mercury mir im SMTP Client zurückgibt ist:
failed
Error FF servicing queue job.

Im PHP und Mercury error log steht nichts.

Unteranderem gab es 2 Anleitungen an denen ich mich Versucht habe.
1. und 2.

Den SMTP relay Client habe ich dann wie unter 2 eingerichtet.

Wo mache ich einen Fehler?

Vielen Dank und Grüße
Jo

  1. Muss es denn unbedingt Mercury sein? Ich hab immer den hier benutzt (oder bin per SMTP auf einen externen):

    https://de.wikipedia.org/wiki/Hamster_(Software)

    1. Hallo

      Muss es denn unbedingt Mercury sein? Ich hab immer den hier benutzt (oder bin per SMTP auf einen externen):

      https://de.wikipedia.org/wiki/Hamster_(Software)

      Eine Software, deren aktuelle Version aus dem März 2006 stammt, muss es aber wirklich nicht sein, oder?

      Tschö, Auge

      --
      Wo wir Mängel selbst aufdecken, kann sich kein Gegner einnisten.
      Wolfgang Schneidewind *prust*
      1. Hey,

        Muss es denn unbedingt Mercury sein? Ich hab immer den hier benutzt (oder bin per SMTP auf einen externen):

        https://de.wikipedia.org/wiki/Hamster_(Software)

        Eine Software, deren aktuelle Version aus dem März 2006 stammt, muss es aber wirklich nicht sein, oder?

        Und was dann? Ich möchte ja erstmal nur von meinem XAMPP, Lokal Mails verschicken können um mein PHP- code zu testen.

        Gruß
        Jo

        1. Tach!

          Eine Software, deren aktuelle Version aus dem März 2006 stammt, muss es aber wirklich nicht sein, oder?

          Und was dann? Ich möchte ja erstmal nur von meinem XAMPP, Lokal Mails verschicken können um mein PHP- code zu testen.

          Dafür ist auch ein Uralt-Mail-Server geeignet. Hauptsache, du hast nach außen keine Ports offen, sonst wirst du schneller Teil des weltweiten Spam-Netzwerkes, als du Firewall aussprechen kannst.

          dedlfix.

          1. Hey dedflix,

            Dafür ist auch ein Uralt-Mail-Server geeignet. Hauptsache, du hast nach außen keine Ports offen, sonst wirst du schneller Teil des weltweiten Spam-Netzwerkes, als du Firewall aussprechen kannst.

            Das ist mir auch klar, danke. Aber ich finde kein Beispiel welches eine Mercury Konfiguration zeigt die bei mir funktioniert.

            Gruß
            jo

            1. Tach!

              Dafür ist auch ein Uralt-Mail-Server geeignet. Hauptsache, du hast nach außen keine Ports offen, sonst wirst du schneller Teil des weltweiten Spam-Netzwerkes, als du Firewall aussprechen kannst.

              Das ist mir auch klar, danke. Aber ich finde kein Beispiel welches eine Mercury Konfiguration zeigt die bei mir funktioniert.

              Wir sprachen doch grad von einer anderen Software. Musst du unbedingt Mercury nehmen? Sonst geht auch jeder beliebige andere Windows-Mailserver. Und, ich hab keine Erfahrung mit dem Teil, aber sollte nicht der XAMPP den schon so konfigurieren, dass er out of the Box läuft?

              dedlfix.

              1. Hey dedflix,

                Wir sprachen doch grad von einer anderen Software. Musst du unbedingt Mercury nehmen?

                Mir ist das gleich was ich verwende, hauptsache es funktioniert.

                Sonst geht auch jeder beliebige andere Windows-Mailserver.

                Zum Beispiel? Wo gibt es eine gute Anleitung zur Konfiguration?

                Und, ich hab keine Erfahrung mit dem Teil, aber sollte nicht der XAMPP den schon so konfigurieren, dass er out of the Box läuft?

                Da bin ich auch blauäugig rein gelaufen und dachte das wär so aber wie ich feststellen musste ist es komplizierter.

                Gruß
                Jo

              2. Hallo,

                Musst du unbedingt Mercury nehmen? Sonst geht auch jeder beliebige andere Windows-Mailserver. Und, ich hab keine Erfahrung mit dem Teil, aber sollte nicht der XAMPP den schon so konfigurieren, dass er out of the Box läuft?

                das ist wohl kaum möglich. Das SMTP-Server-Modul von Mercury könnte tatsächlich vorkonfiguriert sein, aber der Relaying Client braucht ja wieder die üblichen Verdächtigen als Information, um die Mails an den öffentlichen SMTP weiterzugeben: Hostname, Port, SSL ja/nein/vielleicht, Benutzername, Kennwort, gewünschte Absenderadresse. Das wird man also in jedem Fall selbst eintragen müssen.

                Btw, j4nk3y: Es ist 8..10 Jahre her, dass ich Mercury benutzt habe - aber ich meine, man musste auch im Core-Modul noch einiges einstellen, damit das Server- und das Client-Modul überhaupt voneinander wissen und zusammenarbeiten können. Das taucht aber in den Anleitungen gar nicht auf, die du verlinkt hast.

                So long,
                 Martin

                --
                Es gibt eine Theorie, die besagt, dass das Universum augenblicklich durch etwas noch Komplizierteres und Verrücktes ersetzt wird, sobald jemand herausfindet, wie es wirklich funktioniert. Es gibt eine weitere Theorie, derzufolge das bereits geschehen ist.
                - (frei übersetzt nach Douglas Adams)
                1. Nabend Martin,

                  Btw, j4nk3y: Es ist 8..10 Jahre her, dass ich Mercury benutzt habe - aber ich meine, man musste auch im Core-Modul noch einiges einstellen, damit das Server- und das Client-Modul überhaupt voneinander wissen und zusammenarbeiten können. Das taucht aber in den Anleitungen gar nicht auf, die du verlinkt hast.

                  Das stimmt, da hab ich auch einige localhost Domains hinzugefügt.

                  Gruß
                  Jo

                  1. Hallo,

                    Btw, j4nk3y: Es ist 8..10 Jahre her, dass ich Mercury benutzt habe - aber ich meine, man musste auch im Core-Modul noch einiges einstellen, damit das Server- und das Client-Modul überhaupt voneinander wissen und zusammenarbeiten können. Das taucht aber in den Anleitungen gar nicht auf, die du verlinkt hast.

                    Das stimmt, da hab ich auch einige localhost Domains hinzugefügt.

                    und auch mindestens einen Benutzer angelegt? Ich habe Mercury seinerzeit auch für die Empfangsrichtung benutzt, also per POP3 die Mails draußen abholen lassen und per IMAP intern zur Verfügung gestellt. Dafür sind Benutzer und die ihnen zugeordneten Postfächer auf jeden Fall nötig. Ob das bei einem reinen SMTP-Relay auch nötig ist, weiß ich nicht. PHP will ja gerade keine Authentifizierung am SMTP-Server.

                    So long,
                     Martin

                    --
                    Es gibt eine Theorie, die besagt, dass das Universum augenblicklich durch etwas noch Komplizierteres und Verrücktes ersetzt wird, sobald jemand herausfindet, wie es wirklich funktioniert. Es gibt eine weitere Theorie, derzufolge das bereits geschehen ist.
                    - (frei übersetzt nach Douglas Adams)
                    1. Hey,

                      und auch mindestens einen Benutzer angelegt? Ich habe Mercury seinerzeit auch für die Empfangsrichtung benutzt, also per POP3 die Mails draußen abholen lassen und per IMAP intern zur Verfügung gestellt. Dafür sind Benutzer und die ihnen zugeordneten Postfächer auf jeden Fall nötig. Ob das bei einem reinen SMTP-Relay auch nötig ist, weiß ich nicht. PHP will ja gerade keine Authentifizierung am SMTP-Server.

                      Ja, ich muss ehrlich gestehen, dass ich damit gerade vollkommen überfordert bin. Aber das ist mit neuem ja immer so.

                      Gruß
                      Jo

                      P.s. Ist mir gerade wieder aufgefallen. Sehr schönes Zitat!

                      Es gibt eine Theorie, die besagt, dass das Universum augenblicklich durch etwas noch Komplizierteres und Verrücktes ersetzt wird, sobald jemand herausfindet, wie es wirklich funktioniert. Es gibt eine weitere Theorie, derzufolge das bereits geschehen ist.

                      • (frei übersetzt nach Douglas Adams)
  2. hi,

    Wo mache ich einen Fehler?

    Keine Ahnung. Aber zum Testen reichts doch, alles was auf /usr/sbin/sendmail.bat gepiped wird (ist dort in STDIN zu finden) an eine gemeinsame Adresse zu schicken. D.h., Du brauchst gar keinen Mailserver sondern nur einen SMTP-Client den Du als SMTP-Proxy betreibst.

    1. Tach!

      Keine Ahnung.

      Aber dann doch antworten?

      Aber zum Testen reichts doch, alles was auf /usr/sbin/sendmail.bat gepiped wird (ist dort in STDIN zu finden) an eine gemeinsame Adresse zu schicken.

      Mercury ist ein Mail-Server unter Windows. Da gibt es ganz selten ein Verzeichnis namens /usr/sbin.

      D.h., Du brauchst gar keinen Mailserver sondern nur einen SMTP-Client den Du als SMTP-Proxy betreibst.

      PHP unter Windows liefert die Mail an einen Server, der auf Port 25 lauscht (konfigurierbar, Settings: SMTP und smtp_port).

      dedlfix.

    2. Hey,

      Keine Ahnung. Aber zum Testen reichts doch, alles was auf /usr/sbin/sendmail.bat gepiped wird (ist dort in STDIN zu finden) an eine gemeinsame Adresse zu schicken. D.h., Du brauchst gar keinen Mailserver sondern nur einen SMTP-Client den Du als SMTP-Proxy betreibst.

      Wie immer versteh ich mal wieder nichts. Aber gut... Ich hab mittlerweile auch probiert einfach die php.ini plus sendmail.ini nach den zahlreichen Beispielen zu bearbeiten und auch das Funktioniert nicht.

      Ich bin wirklich ratlos, da einfach kein Beispiel, welches ich finde in irgendeiner Form das tut, was ich möchte... einfach mit mail() eine E-Mail senden.

      Gruß
      Jo

      1. Hey,

        Keine Ahnung. Aber zum Testen reichts doch, alles was auf /usr/sbin/sendmail.bat gepiped wird (ist dort in STDIN zu finden) an eine gemeinsame Adresse zu schicken. D.h., Du brauchst gar keinen Mailserver sondern nur einen SMTP-Client den Du als SMTP-Proxy betreibst.

        Wie immer versteh ich mal wieder nichts.

        Nun, ich weiß nicht, ob es sowas ähnliches wie Net::SMTP auch für PHP gibt (edit: ja, gibt es) -- damit hab ich den SMTP-Client gebaut als Perl-Script und den Namen c:/usr/sbin/sendmail.bat gegeben. Dieser Client liest eine Maildatei aus STDIN und sendet sie an den SMTP-Server meines Providers.

        Zu konfigurieren ist in Deiner php.ini der sendmail_path = /usr/sbin/sendmail -t -i und PHP macht ja auch nichts weiter, als die Maildatei dahin zu pipen -- bis dahin läuft alles lokal ab.

        Erst /usr/sbin/sendmail(.bat) schickt die Mail raus an einen Mailserver im Internet und das kann auch über eine sendmail.bat, die wiederum ein Script aufruft, erledigt werden.

        Somit hast Du sowohl in Deiner Testumgebung als auch produktiv diegleiche Konfiguration mit gleichen Pfaden und musst im Deployment keinen Code ändern.

        MfG

        1. Tach!

          Zu konfigurieren ist in Deiner php.ini der sendmail_path = /usr/sbin/sendmail -t -i und PHP macht ja auch nichts weiter, als die Maildatei dahin zu pipen -- bis dahin läuft alles lokal ab.

          Äh, moment mal. Hat PHP schon immer unter Windows den sendmail_path nicht ignoriert? Stand da nicht mal früher, dass das Unix-only sei?

          Also, da geht was zu konfigurieren. Aber dazu muss man ja nicht /usr/sbin anlegen, damit da was funktioniert. Ein beliebiger Pfad à la C:\dummy.bat geht auch. Und wenn man nur wissen möchte, ob PHP eine Mail ausliefern kann, muss die dummy.bat nichtmal was großartiges enthalten. Ein Kopieren (sprich: Anhängen) in eine lokale Datei sollte reichen. Die kann man dann kontrollieren, ob da Inhalt hinzugekommen ist. Es sei denn, man will schauen, wie Mail-Clients mit den Mails umgehen, dann braucht man etwas mehr.

          dedlfix.

          1. Hallo,

            Zu konfigurieren ist in Deiner php.ini der sendmail_path = /usr/sbin/sendmail -t -i und PHP macht ja auch nichts weiter, als die Maildatei dahin zu pipen -- bis dahin läuft alles lokal ab.

            Äh, moment mal. Hat PHP schon immer unter Windows den sendmail_path nicht ignoriert? Stand da nicht mal früher, dass das Unix-only sei?

            hatte ich auch so in Erinnerung, aber ich war mir nicht sicher.
            Ist denn das heute anders? Kann man mit PHP unter Windows nun auch den sendmail-Mechanismus nutzen?

            Also, da geht was zu konfigurieren. Aber dazu muss man ja nicht /usr/sbin anlegen, damit da was funktioniert. Ein beliebiger Pfad à la C:\dummy.bat geht auch. Und wenn man nur wissen möchte, ob PHP eine Mail ausliefern kann, muss die dummy.bat nichtmal was großartiges enthalten. Ein Kopieren (sprich: Anhängen) in eine lokale Datei sollte reichen. Die kann man dann kontrollieren, ob da Inhalt hinzugekommen ist.

            Geniale Idee! :-)

            Es sei denn, man will schauen, wie Mail-Clients mit den Mails umgehen, dann braucht man etwas mehr.

            Klar, dann sind wir wieder beim konventionellen Setup.

            So long,
             Martin

            --
            Es gibt eine Theorie, die besagt, dass das Universum augenblicklich durch etwas noch Komplizierteres und Verrücktes ersetzt wird, sobald jemand herausfindet, wie es wirklich funktioniert. Es gibt eine weitere Theorie, derzufolge das bereits geschehen ist.
            - (frei übersetzt nach Douglas Adams)
  3. Das einzige was Mercury mir im SMTP Client zurückgibt ist:
    failed
    Error FF servicing queue job.

    http://stackoverflow.com/questions/25608772/mercury-sending-email-from-localhost

    Noch was: In der Frage steht was von "to xxxx@gmail.com". Es ist, wenn Du eine dynamische IP hast, aussichtslos von dieser aus (ohne einen Relay) eine Mail an etwas wie xxxx@gmail.com senden zu wollen. Das haben wir hier mehrfach besprochen.

    Und wir wissen nicht, was Du konfiguriert hast, nicht mal wohin Du das Mail senden willst. Das ist für die von Dir erwarteten, hilfreichen Antworten zu wenig.

    1. Hey Tagwächter,

      http://stackoverflow.com/questions/25608772/mercury-sending-email-from-localhost

      Ja hatte ich auch schon Gestern gefunden und versucht, kein Erfolg.

      Noch was: In der Frage steht was von "to xxxx@gmail.com". Es ist, wenn Du eine dynamische IP hast, aussichtslos von dieser aus (ohne einen Relay) eine Mail an etwas wie xxxx@gmail.com senden zu wollen. Das haben wir hier mehrfach besprochen.

      Hm, dachte Localhost hat eine statische IP.

      Und wir wissen nicht, was Du konfiguriert hast, nicht mal wohin Du das Mail senden willst. Das ist für die von Dir erwarteten, hilfreichen Antworten zu wenig.

      Ich habe es im Moment so konfiguriert, wie in den beiden Anleitungen beschrieben. Ich versuche erst einmal eine Mail an eine meiner Mail-Adressen zu schicken.

      Gruß
      Jo

      1. eine meiner Mail-Adressen zu schicken.

        Eine meiner Mailadressen ist root@localhost.

        1. eine meiner Mail-Adressen zu schicken.

          Eine meiner Mailadressen ist root@localhost.

          Eine meiner Mailadressen ist mein.name@gmx.de

          1. eine meiner Mail-Adressen zu schicken.

            Eine meiner Mailadressen ist root@localhost.

            Eine meiner Mailadressen ist mein.name@gmx.de

            Ok. Du hast demnach eine asbach-alte Quelle für die Konfiguration des Smarthostes genutzt. Port 25 und Klartextzeug "war mal". Hier die aktuelle:

            Alternativ-Text

            Mehr Infos von der selben Seite

            1. Hey,

              Mehr Infos von der selben Seite

              Ahh, dass hatte ich garnicht gefunden, da hatte ich aber auch schon mail.gmx.de (nicht .net) und den Port 465 eingestellt.

              Plus einer kleinen Einstellung bei GMX bin ich mittlerweile sogar soweit, dass GMX mir sagt das der SMTP Zugriff nicht klappt.

              Gruß
              Jo

              1. Plus einer kleinen Einstellung bei GMX bin ich mittlerweile sogar soweit, dass GMX mir sagt das der SMTP Zugriff nicht klappt.

                Ja. Ein Schritt zu Erfolg.

                Und kannst Du Dir jetzt vorstellen, dass die genaue Fehlermeldung mir dabei hilft, Dein Problem zu lösen?

                1. Hi,

                  Plus einer kleinen Einstellung bei GMX bin ich mittlerweile sogar soweit, dass GMX mir sagt das der SMTP Zugriff nicht klappt.

                  Ja. Ein Schritt zu Erfolg.

                  Und kannst Du Dir jetzt vorstellen, dass die genaue Fehlermeldung mir dabei hilft, Dein Problem zu lösen?

                  ich hatte eben schon eine zynische Bemerkung auf der Zunge, etwa sowas wie "Verrate uns bloß nicht, was du genau gemacht hast, sonst könnte womöglich noch jemand den Fehler erkennen".

                  Ciao,
                   Martin

                  --
                  Es gibt eine Theorie, die besagt, dass das Universum augenblicklich durch etwas noch Komplizierteres und Verrücktes ersetzt wird, sobald jemand herausfindet, wie es wirklich funktioniert. Es gibt eine weitere Theorie, derzufolge das bereits geschehen ist.
                  - (frei übersetzt nach Douglas Adams)
                  1. sonst könnte womöglich noch jemand den Fehler erkennen

                    Das will ich nicht. Denn ich bin ein grässlicher Egoist, der nur hier ist, um a) Werbung für sich selbst zu machen und b) anderen die Gelegenheit zu nehmen, gute Antworten zu geben.

                2. Moin,

                  Tut mir leid das ihr etwas auf diese Antwort warten musstet,hab einfach zuviel auf meinem Zettel...

                  Und kannst Du Dir jetzt vorstellen, dass die genaue Fehlermeldung mir dabei hilft, Dein Problem zu lösen?

                  Das kann ich mir kaum vorstellen, wie sollte das zur Lösung beitragen?

                  Also GMX, lies mich folgendes wissen:

                  "Sie haben kürzlich versucht, Ihr GMX Postfach in ein E-Mail-Programm wie z. B. Outlook oder die vorinstallierte Mail-App Ihres Smartphones einzubinden. Dieser Versuch ist leider fehlgeschlagen, was folgende Ursache haben kann.

                  Die für die E-Mail Programme benötigten Protokolle POP3/IMAP/SMTP sind standardmäßig zu Ihrer Sicherheit deaktiviert. So soll verhindert werden, dass Unbefugte unbemerkt über POP3/IMAP/SMTP auf Ihr Postfach zugreifen.

                  Auch wenn Sie Ihr GMX Postfach bereits in ein E-Mail Programm eingebunden haben, dieses aber längere Zeit nicht genutzt haben, werden die Protokolle deaktiviert.

                  Um die Funktion zu nutzen, müssen Sie die Protokolle erstmalig oder erneut in Ihren Postfach-Einstellungen aktivieren. Eine Schritt-für-Schritt-Anleitung dazu finden Sie in der GMX Hilfe. ‌Anleitung zum Aktivieren"

                  Dann also nach der Anleitung die Einstellungen vorgenommen.

                  Mercury sagt mir dann folgendes:

                  550-Requested action not taken: mailbox unavailable

                  Gruß
                  Jo

                  1. Die für die E-Mail Programme benötigten Protokolle POP3/IMAP/SMTP sind standardmäßig zu Ihrer Sicherheit deaktiviert. So soll verhindert werden, dass Unbefugte unbemerkt über POP3/IMAP/SMTP auf Ihr Postfach zugreifen.

                    Ok. Du hattest POP3/IMAP/SMTP noch nie benutzt, Also hat GMX die Nutzerkennung irgendwann gecancelt.

                    Dann also nach der Anleitung die Einstellungen vorgenommen.

                    Mercury sagt mir dann folgendes:

                    550-Requested action not taken: mailbox unavailable

                    Gut möglich, dass die Übernahme dieser Einstellungen eine Weile dauert. Ansonsten mal prüfen, ob das Passwort falsch war oder durch mehrmalige Falscheingabe temporär abgeschossen wurde.

      2. Hey Tagwächter,

        http://stackoverflow.com/questions/25608772/mercury-sending-email-from-localhost

        Ja hatte ich auch schon Gestern gefunden und versucht, kein Erfolg.

        Noch was: In der Frage steht was von "to xxxx@gmail.com". Es ist, wenn Du eine dynamische IP hast, aussichtslos von dieser aus (ohne einen Relay) eine Mail an etwas wie xxxx@gmail.com senden zu wollen. Das haben wir hier mehrfach besprochen.

        Hm, dachte Localhost hat eine statische IP.

        Der localhost hat über 16 Millionen gültige IP-Adressen in 127.0.0.0/8

        D:\>ping 127.255.255.254
        
        Ping wird ausgeführt für 127.255.255.254 mit 32 Bytes Daten:
        
        Antwort von 127.0.0.1: Bytes=32 Zeit<1ms TTL=128
        

        Ich habe es im Moment so konfiguriert, wie in den beiden Anleitungen beschrieben. Ich versuche erst einmal eine Mail an eine meiner Mail-Adressen zu schicken.

        Besser an einen Mailserver mit fester IP-Adresse, Du hast doch sicher einen Provider oder? Und mach das über eine lokle PIPE auf sendmail, viele Provider wollen das gar nicht anders und sperren den SMTP-Port. Deswegen ja der Eintrag in php.ini, siehe meine weiteren Ausführungen.

        1. Moin,

          Hm, dachte Localhost hat eine statische IP.

          Der localhost hat über 16 Millionen gültige IP-Adressen in 127.0.0.0/8

          aber keine von denen ist relevant, wenn der auf localhost laufende Mercury (oder wer auch immer) Mails nach draußen an den Mailserver des Providers weiterreicht. Aus dessen Sicht ist es die momentane IP-Adresse des DSL-Anschlusses (oder was auch immer).

          Ich habe es im Moment so konfiguriert, wie in den beiden Anleitungen beschrieben. Ich versuche erst einmal eine Mail an eine meiner Mail-Adressen zu schicken.

          Besser an einen Mailserver mit fester IP-Adresse

          Das impliziert die obige Aussage IMO.

          Und mach das über eine lokle PIPE auf sendmail, viele Provider wollen das gar nicht anders

          Du hast schon gelesen, dass es hier um ein XAMPP-Setup geht, also eine lokale Testumgebung?

          So long,
           Martin

          --
          Es gibt eine Theorie, die besagt, dass das Universum augenblicklich durch etwas noch Komplizierteres und Verrücktes ersetzt wird, sobald jemand herausfindet, wie es wirklich funktioniert. Es gibt eine weitere Theorie, derzufolge das bereits geschehen ist.
          - (frei übersetzt nach Douglas Adams)
  4. Salve zusammen,

    Was gäbe es denn noch für andere Möglichkeiten mit XAMPP einen Mailserver einzurichten?

    Gruß
    Jo

    1. Tach!

      Was gäbe es denn noch für andere Möglichkeiten mit XAMPP einen Mailserver einzurichten?

      Jeder unter Windows laufende Mailserver, der auf Port 25 (oder anderswo) normales SMTP spricht stellt prinzipbedingt kein Problem für den Empfang von Emails dar. Windows-PHP kann außerdem zu jedem belibigen anderen Normal-SMTP-Server Kontakt aufnehmen. Hast du den bereits erwähnten Hamster probiert? Auch wenn der nicht aktuell ist, sollte der für einen Probebetrieb ausreichend sein.

      Die Frage ist aber, was du mit den Mails machen möchtest. Müssen sie unbedingt zu einem externen Provider gesendet werden?

      dedlfix.

      1. Guten morgen,

        Jeder unter Windows laufende Mailserver, der auf Port 25 (oder anderswo) normales SMTP spricht stellt prinzipbedingt kein Problem für den Empfang von Emails dar. Windows-PHP kann außerdem zu jedem belibigen anderen Normal-SMTP-Server Kontakt aufnehmen. Hast du den bereits erwähnten Hamster probiert? Auch wenn der nicht aktuell ist, sollte der für einen Probebetrieb ausreichend sein.

        Dann probiere ich mich gleich mal an Hamster.

        Die Frage ist aber, was du mit den Mails machen möchtest. Müssen sie unbedingt zu einem externen Provider gesendet werden?

        Nein Imprinzip nicht. Aber es wär klasse wenn sie irgendwo ankommen, damit ich mein Loginsystem mit Aktivierungsmail und Passwort-reset etc. testen kann. Ausserdem ist es immer grandios wenn nach Tage langem probieren und Scheitern etwas funktioniert.

        Gruß
        Jo

        1. Moin,

          Die Frage ist aber, was du mit den Mails machen möchtest. Müssen sie unbedingt zu einem externen Provider gesendet werden?

          Nein Imprinzip nicht. Aber es wär klasse wenn sie irgendwo ankommen, damit ich mein Loginsystem mit Aktivierungsmail und Passwort-reset etc. testen kann. Ausserdem ist es immer grandios wenn nach Tage langem probieren und Scheitern etwas funktioniert.

          Wenn es nur um's Testen geht, reicht es ja, Mails auf /usr/bsbin/sendmail (siehe Pfad in php.ini) zu pipen und die Maildateien einfach nur zu speichern. Wenn Du den Dateien die Erweiterung .eml gibst, holt sie ein Doppelklick in Dein lokales Mailprogramm (Windows).

          So einfach hab ich das auch ne Zeitlang gemacht, das hat sich bewährt ;)

          (Und da kann es auch nicht passieren, dass ein Kunde eine Testmail kriegt) MfG

          1. Moin,

            Wenn es nur um's Testen geht, reicht es ja, Mails auf /usr/bsbin/sendmail (siehe Pfad in php.ini) zu pipen und die Maildateien einfach nur zu speichern. Wenn Du den Dateien die Erweiterung .eml gibst, holt sie ein Doppelklick in Dein lokales Mailprogramm (Windows).

            Ich hab kein lokales Mailprogramm. Und pipen kann ich nicht.

            (Und da kann es auch nicht passieren, dass ein Kunde eine Testmail kriegt)

            Das stimmt wohl, aber ich versuche ja erstmal nur folgenden PHP code:

            <?php
            $to = "mein.name@gmx.de";
            $subject = "Hello World";
            $message = "Test";
            
            if(mail($to, $subject, $message))
            {
            	echo "Mail send!";
            }
            else
            {
            	echo "Failed to send Mail";
            }
            ?>
            
            1. Moin,

              Wenn es nur um's Testen geht, reicht es ja, Mails auf /usr/bsbin/sendmail (siehe Pfad in php.ini) zu pipen und die Maildateien einfach nur zu speichern. Wenn Du den Dateien die Erweiterung .eml gibst, holt sie ein Doppelklick in Dein lokales Mailprogramm (Windows).

              Ich hab kein lokales Mailprogramm. Und pipen kann ich nicht.

              Ach, was, hast Du meine Beiträge immer noch nicht verstanden?

              /usr/sbin/sendmail ist eine von Dir zu erstellende Batchdatei und ums Pipen musst Du Dich auch nicht kümmern, das macht die mail-Funktion von PHP selber.

              Meine Güte, da muss ich mir wohl keine Sorgen machen, dass jemand meine Ideen klaut, selbst dann nicht, wenn ich's'zigmal erkläre ;)

              1. Hey,

                Ach, was, hast Du meine Beiträge immer noch nicht verstanden?

                Nope, aber jetzt.

                /usr/sbin/sendmail ist eine von Dir zu erstellende Batchdatei und ums Pipen musst Du Dich auch nicht kümmern, das macht die mail-Funktion von PHP selber.

                Was in Xampp standartmässig "C:\xampp\mailoutput" wäre... da liegen bei mir die ganzen Mails die PHP versucht hat loszuschicken als .txt Datei.

                Naja ich lasse es einfach :/ Danke trotzdem!

                Gruß
                Jo

                1. Tach!

                  Was in Xampp standartmässig "C:\xampp\mailoutput" wäre... da liegen bei mir die ganzen Mails die PHP versucht hat loszuschicken als .txt Datei.

                  Das ist doch Beweis genug, dass PHP die Mails erzeugt. Was anderes kannst du in der Testumgebung auch nicht großartig sinnvoll testen. Öffne die Textdateien im MailClient und wenn sie gut aussehen, ist alles ok. Was dann in der Produktivumgebung läuft, steht eh auf einem anderen Blatt.

                  dedlfix.

            2. Mein Gott. man kann es sich aber auch schwer machen.

              <?php
              $to = "mein.name@gmx.de";
              $subject = "Hello World";
              $message = "Test";
              
              if ('localhost' == $_SERVER['SERVER_NAME']) {
                  test_mail($to, $subject, $message);
              } else {
                  mail($to, $subject, $message);
              }
              
              function test_mail($to, $subject, $message) {
                  $mail = implode("\r\n\r\n", array($to, $subject, $message));
                  return file_put_contents ('mail.txt', $mail);
              }
              
              
              1. Mein Gott. man kann es sich aber auch schwer machen.

                <?php
                $to = "mein.name@gmx.de";
                $subject = "Hello World";
                $message = "Test";
                
                if ('localhost' == $_SERVER['SERVER_NAME']) {
                    test_mail($to, $subject, $message);
                } else {
                    mail($to, $subject, $message);
                }
                

                Scheint mir deutlich umständlicher und fehleranfälliger als das hier:

                https://forum.selfhtml.org/self/2016/nov/9/xampp-mercury-einrichten/1679612#m1679612

                function test_mail($to, $subject, $message) {
                    $mail = implode("\r\n\r\n", array($to, $subject, $message));
                    return file_put_contents ('mail.txt', $mail);
                }
                
                
                1. Scheint mir deutlich umständlicher und fehleranfälliger als das hier:

                  https://forum.selfhtml.org/self/2016/nov/9/xampp-mercury-einrichten/1679612#m1679612

                  Da muss j4nk3y aber erst mal die richtige php.ini finden...

                  1. Tach!

                    Da muss j4nk3y aber erst mal die richtige php.ini finden...

                    phpinfo() zeigt die Pfade aller eingelesenen Konfigurationsdateien an.

                    dedlfix.

          2. Wenn es nur um's Testen geht, reicht es ja, Mails auf /usr/bsbin/sendmail (siehe Pfad in php.ini) zu pipen und die Maildateien einfach nur zu speichern. Wenn Du den Dateien die Erweiterung .eml gibst, holt sie ein Doppelklick in Dein lokales Mailprogramm (Windows).

            Doppelpost

        2. Morgen,

          Dann probiere ich mich gleich mal an Hamster.

          Als ob ich es geahnt hätte... probieren endet im scheitern. (Mit dieser Anleitung)

          Gruß
          Jo

          1. Morgen,

            Dann probiere ich mich gleich mal an Hamster.

            Als ob ich es geahnt hätte... probieren endet im scheitern. (Mit dieser Anleitung)

            Dort ist keine Anleitung, sondern die allgemeine Startseite.

            Allerdings fand sich dort eine Anleitung. Die zeigt aber schon wieder Port 25 und verweist also auf Klartextprotokolle, die KEIN ernstzunehmender Provider mehr zulässt.

            Hamster: Bei Programmen aus "Anno Asbach" kannst Du das Problem haben, dass diese nur inzwischen als unsicher verworfene Verschlüsselungsmethoden können, die der Server von GMX aber aus dem genannten und also gutem Grund ablehnt.

            Ob das der Fall ist können wir nicht wissen, weil Du außer "geht nicht" keine Informationen rausgibst. Und mir selbst ein Windows aufzusetzen, mich mit dem proprietären Mist herumzuärgern (mit dem ich mir deutlich hilfloser, genauer: "genervter", vorkomme als unter Linux), den Mailserver zu installieren und ein Konto bei GMX aufzumachen, habe nicht wirklich Lust.

            Hinzu kommt, dass ich Deine Einstellungen nicht kenne: Was ist mit der lokalen Firewall? Lässt die überhaupt zu, dass der Mailserver "listet" und Daten aus dem Netz holt?

            Was ich tun würde:

            Ich würde den XAMPP-Krempel löschen und den Testserver (Apache, MySQL/MariaDB, PHP/hhvm, Perl, postfix/exim, ssh, node) als Linux (wie im Realbetrieb ohne grafische Oberfläche!) entweder in einer virtuellen Box oder auf einem Raspi betreiben - denn nur so lernt man es richtig.

            1. Tach!

              Allerdings fand sich dort eine Anleitung. Die zeugt aber schon wieder Port 25 und verweist also auf Klartextprotokolle, die KEIN ernstzunehmender Provider mehr zulässt.

              Das ist ja auch nicht wirklich relevant. Das Problem im vorliegenden Fall ist doch, dass der Testbetrieb auf Windows läuft und das Produktivsystem später vermutlich ein Linux ist. Die Mailübertragung unter Windows zu einem exteren Provider zum Laufen zu bekommen, hat nicht wirklich eine Aussagekraft für den späteren Betrieb, bei dem sich der lokale sendmail-Clone um den Versand kümmert. Selbst wenn doch Windows als Produktivumgebung zum Einsatz kommt, sollte man davon ausgehen, dass ein funktionierender Mailserver zur Verfügung steht.

              Wenn er also da was mit einem aktuellen Mailserver hinbekommt, ist das schön, aber ziemlich belanglos. Das hat nicht mehr Aussagekraft, als wenn PHP unter Verwendung von mail() eine Mail-Datei in einem lokalen Verzeichnis abgelegt bekommt.

              Ich würde den XAMPP-Krempel löschen und den Testserver (Apache, MySQL/MariaDB, PHP/hhvm, Perl, postfix/exim, ssh, node) als Linux (wie im Realbetrieb ohne grafische Oberfläche!) entweder in einer virtuellen Box oder auf einem Raspi betreiben - denn nur so lernt man es richtig.

              +1, außer dem Nachsatz. Man kann natürlich auch unter Windows es richtig lernen, aber wenn man am Ende kein Windows-System betreibt, ist die gesammelte Erfahrung nur eingeschränkt nutzbar.

              dedlfix.

            2. Hey,

              Hamster: Bei Programmen aus "Anno Asbach" kannst Du das Problem haben, dass diese nur inzwischen als unsicher verworfene Verschlüsselungsmethoden können, die der Server von GMX aber aus dem genannten und also gutem Grund ablehnt.

              Ist Klar, darum frage ich nach anderen Methoden, aber bis auf Hamster welcher auch 10 Jahre alt scheint, kam bisher nichts.

              Ob das der Fall ist können wir nicht wissen, weil Du außer "geht nicht" keine Informationen rausgibst.

              Wenn ich welche hätte wär ich froh! dann könnte ich nämlich anhand des Fehlers selber Versuchen eine Lösung zu finden.

              Und mir selbst ein Windows aufzusetzen, mich mit dem proprietären Mist herumzuärgern (mit dem ich mir deutlich hilfloser, genauer: "genervter", vorkomme als unter Linux), den Mailserver zu installieren und ein Konto bei GMX aufzumachen, habe nicht wirklich Lust.

              Verlangt auch niemand.

              Was ich tun würde:

              Ich würde den XAMPP-Krempel löschen und den Testserver (Apache, MySQL/MariaDB, PHP/hhvm, Perl, postfix/exim, ssh, node) als Linux (wie im Realbetrieb ohne grafische Oberfläche!) entweder in einer virtuellen Box oder auf einem Raspi betreiben - denn nur so lernt man es richtig.

              Raspi steht bereit mit (Apache, Mysql, php, ssh, node)...

              Gruß
              Jo