Ankündigung

Einklappen
Keine Ankündigung bisher.

mail() mit Mercury

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mail() mit Mercury

    Hallo,

    ich habe wie hier beschrieben den bei XAMPP mitgelieferten Mercury Mail Server konfiguriert und auch wie dort beschrieben unter "MercuryC SMTP Relay Client Configuration" mein Googlemail Login und PW eingesetzt. Nun kann ich auch über "File" > "Send mail message" Mails auch nach "draußen" schicken.

    Jetzt müsste doch mittels dieses Codes ebenfalls eine Mail verschickt werden oder nicht?
    PHP-Code:
    mail("test@hotmail.de","Test!""Hallo!" ); 
    Leider wird keine Mail versand. (php.ini wurde wie in der Anleitung oben angepasst)

  • #2
    Hi,

    Apache (für die php.ini Änderung) neu gestartet? Mit Zend_Mail kannst du übrigens - falls das dein eigentliches Ziel ist - den Mailversand anhand eines Protokolls festlegen. Ich benutze beispielsweise lokal den Filetransport, d.h. die E-Mail wird in eine Datei geschrieben, du kannst die *.eml-Datei dann per Doppelklick in Thunderbird aufmachen, sehr praktisch. Das nur als Idee.

    Ansonsten: Welche Meldung bekommst du denn, wenn du mail() aufrufst? Einen Fehler? Hast du dein Error-Reporting hochgesetzt / Logging aktiviert und den Rückgabewert von mail() ausgewertet?
    "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

    Kommentar


    • #3
      Zitat von Chriz Beitrag anzeigen
      Hi,

      Apache (für die php.ini Änderung) neu gestartet? Mit Zend_Mail kannst du übrigens - falls das dein eigentliches Ziel ist - den Mailversand anhand eines Protokolls festlegen. Ich benutze beispielsweise lokal den Filetransport, d.h. die E-Mail wird in eine Datei geschrieben, du kannst die *.eml-Datei dann per Doppelklick in Thunderbird aufmachen, sehr praktisch. Das nur als Idee.
      Apache habe ich bereits neugestartet.
      Ich möchte im Grunde nach Registrierung eines Nutzers eine "Willkommensmail" versenden, allerdings scheitert es ja bereits am Aufruf der mail().

      Zitat von Chriz Beitrag anzeigen
      Ansonsten: Welche Meldung bekommst du denn, wenn du mail() aufrufst? Einen Fehler? Hast du dein Error-Reporting hochgesetzt / Logging aktiviert und den Rückgabewert von mail() ausgewertet?
      Was sollte ich beim Error-Reporting einstellen? Habe
      Code:
      ; display_errors
         Default Value: On
      wenn ich zusätzlich noch
      Code:
      ; error_reporting
         Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
      ;   Development Value: E_ALL
      ;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
      so aktiviere, komme ich gar nicht bis zum mail()-Aufruf da vorher etliche Errors angezeigt werden.
      Noch ne blöde Frage Wie werte ich den Rückgabewert von mail() aus?

      Kommentar


      • #4
        Zitat von funkymunky Beitrag anzeigen
        [...]
        wenn ich zusätzlich noch
        Code:
        ; error_reporting
           Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
        ;   Development Value: E_ALL
        ;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
        so aktiviere, komme ich gar nicht bis zum mail()-Aufruf da vorher etliche Errors angezeigt werden.
        Noch ne blöde Frage Wie werte ich den Rückgabewert von mail() aus?
        Also Fehler als unwichtig abzustufen, nur weil du sie ausblendest ist der falsche Weg.
        Schalte mal schön brav während der Entwicklung error_reporting(E_ALL) ein und schau dir die Fehler alle genau an, es gibt nur ganz wenige, die man ignorieren darf, den großen Rest sollte man beheben. (Teilweise auch aus Sicherheitsgründen)
        [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
        [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

        Kommentar


        • #5
          Zitat von ChrisvA Beitrag anzeigen
          Also Fehler als unwichtig abzustufen, nur weil du sie ausblendest ist der falsche Weg.
          Schalte mal schön brav während der Entwicklung error_reporting(E_ALL) ein und schau dir die Fehler alle genau an, es gibt nur ganz wenige, die man ignorieren darf, den großen Rest sollte man beheben. (Teilweise auch aus Sicherheitsgründen)
          So habe das Error-Reporting jetzt so aktiviert:
          Code:
          ; error_reporting
          ;   Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
             Development Value: E_ALL
          ;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
          Bekomme nun keine Meldungen mehr!

          Kommentar


          • #6
            Zitat von funkymunky Beitrag anzeigen
            So habe das Error-Reporting jetzt so aktiviert:
            Code:
            ; error_reporting
            ;   Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
               Development Value: E_ALL
            ;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
            Bekomme nun keine Meldungen mehr!
            Das du keine Meldungen bekommst ist klar, wenn du error_reporting auch nicht anschaltest.

            Setzte mal error_reporting(E_ALL) an den Anfang deines Skriptes und informiere dich mal, wie man Einstellungen in der php.ini vornimmt.

            PS: Meldet PHP solche "Vergehen" nicht automatisch beim Start?
            [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
            [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

            Kommentar


            • #7
              Wenn nur dann wenn auch Startup Errors im Error-Reporting angegeben werden.
              [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

              Kommentar


              • #8
                Zitat von ChrisvA Beitrag anzeigen
                Setzte mal error_reporting(E_ALL) an den Anfang deines Skriptes und informiere dich mal, wie man Einstellungen in der php.ini vornimmt.
                Habe ich aber es kommen trotzdem keine Meldungen! Habe wie oben beschrieben den Mercury Server konfiguriert und kann auch über "File" > "Send mail" Mails versenden.
                Allerdings passiert einfach nichts bei der Methode
                PHP-Code:
                mail("test@hotmail.de","Test!""Hallo!" ); 
                Muss php irgendwie noch mit Mercury verknüpft werden?

                Kommentar


                • #9
                  nein, muss PHP nicht. Außerdem: Bitte statt der PHP-eigenen mail() Funktion eine Mailerklasse verwenden, z.B. PHPMailer. Dazu siehe auch 13: Die 3 E-Postel und die Freuden des Briefverkehrs - php.de , Mail() ist tot, es lebe mail()! Das beugt Fehlern wie diesem vor.
                  "2 hours of trial and error can save 10 minutes of manual reading."

                  Kommentar

                  Lädt...
                  X