Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP versendet E-Mails doppelt

Einklappen

Neue Werbung 2019

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

  • PHP versendet E-Mails doppelt

    Ich möchte eine einfache Mail versenden, klappt auch. Die Mail wird aber immer doppelt versendet, wie kann ich das unterbinden?

    PHP-Code:
    $empfaenger "info@example.com";
    $betreff "Betrefftext";
    $from "From: Beispiel <admin@example.com>";
    $text "Hier steht Text";

    mail($empfaenger$betreff$text$from); 

  • #2
    mail() sollte nicht verwendet werden. Nimm einen fertigen Mailer wie z.B. PHPMailer.

    Kommentar


    • #3
      PHP macht das was Du ihm sagst. Wenn da was doppelt verschickt wird dann weil der angegebene Code mehrfach aufgerufen wird oder weil der im Hintergrund genutzte Mailer das so macht (konfiguration) oder nicht korrekt von PHP angesprochen wird.

      Wenn DU die mail(…) Funktion roh nutzen möchtest must Du quasi die für Mail nötigen RFCs im Kopf haben das sich da kein Fehler einschleicht. Also mir wär das zu heiss. Damit Du, Ich und die meisten Anderen das alles nicht wissen müssen gibt es die von hellbringer angesprochenen Mailerklassen wie PHPMailer oder SwiftMail.

      Kommentar


      • #4
        Danke. Ja ich denke auch das mail scheinbar irgendwo erneut geladen wird und damit die zweite Mail auslöst. JA, das problem sitzt immer VOR dem Rechner...

        Dennoch, der Hintergrund ist, ich möchte in einer Wordpressseite (welches sicher auch die zweite Mail versendet) in wenigen Zeilen bei einem Ereignis, eine Minimail an eine bestimmte Adresse senden.

        Der dortige Eingang dieser Mail die übrigens nur einen Betreff hat "1245789" triggert dort einen Bot der dann bei Telegram-User 1245789 eine Nachricht auslöst.

        PHPMailer innerhalb einer WP-Seite einbinden, ausführen, etc. halte ich für "heisser" als 4 zeilen code um eine PHP Mail zu senden... komme einfach nicht auf eine leichte Lösung... fummel jetzt schon 2 Tage...

        Selbst eine Lösung ála iframe 1x1 px welcher eine Seite lädt die dann die PHP Mail auslöst wäre denkbar (die läßt sich ja so schützen das sie nur innerhalb der Domain aufgerufen werden kann und somit niemand diese aus dem iframe lösen kann, extern fummeln und in die Datenbank einbrechen könnte oder ähnliches...

        Kommentar


        • #5
          Zitat von invictus Beitrag anzeigen
          PHPMailer innerhalb einer WP-Seite einbinden, ausführen, etc. halte ich für "heisser" als 4 zeilen code um eine PHP Mail zu senden...
          Dann hast du nicht verstanden wie kompliziert es ist eine RFC konforme Mail zu versenden. Mail als PHP Funktion sendet zwar die Mail ab, aber über die richtige Zusammensetzung(Header, Zeichensatz, Zeilenendezeichen etc. musst du dich dann selber kümmern.

          Steht auch als Warnung im Handbuch: "Caution Subject must satisfy » RFC 2047." und für den Empfänger gilt
          The formatting of this string must comply with » RFC 2822.
          usw.

          Da das sehr kompliziert ist, haben dies schlaue Leute schon frühzeitig erkannt und ein für allemal ein Mailscript entwickelt, womit man Mails ohne Probleme abschicken kann. Das Script phpmailer besteht auch nur aus einer Datei und die wird in der alten Version einfach mit include eingebunden. einfacher geht es nun wirklich nicht.

          Was dein Zusammenspiel mit Wordpress betrifft, bist du in einem Wordpress-Forum besser aufgehoben.

          Kommentar


          • #6
            Die Funktion mail() ist einfach nur ein bißchen voreilig! Ein sleep(1) vor dem Aufruf sorgt dafür, daß die Mail nur einmal versandt wird.

            Kommentar


            • #7
              invictus auf die Schnelle per Google gefunden: Wordpress hat doch sowas onboard. https://developer.wordpress.org/refe...tions/wp_mail/

              Und scheinbar nutzt WP intern auch den PHP-Mailer laut dem Source.
              The string "()()" is not palindrom but the String "())(" is.

              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar

              Lädt...
              X