WP_Mail Kuriositäten (sendet nur "teilweise)

  • Hallo zusammen,

    ich komme einfach nicht mehr weiter!
    WP_Mail zickt bei mir herum und ich hab' keinen blassen Schimmer, wieso, weshalb und warum :?:

    Ich bin momentan dabei - mein 1. Plugin - eine Terminverwaltung für unseren Verein zu erstellen.
    Funktionen mit Mailversand, welche bereits integriert sind und welche noch kommen sollen:
    - Registrierungsfunktion Mailversand inkl. Adminmail/Benutzermail (✔ - voll funktionstüchtig)
    - Erinnerungsmail an alle Bunutzer zur Teilnahme an Event "X" - (✘ - hier liegt der Hund begraben)

    Kurze Erklärung:
    Für jedes Event kann man auswählen, ob eine Erinnerungsmail an die Benutzer gesendet werden soll, um aufmerksam zu machen, dass noch keine Teilnahmeinformationen von dem Benutzer vorhanden sind, sprich, dass der Benutzer noch nicht ausgewählt hat, ob er entweder:
    - teilnimmt
    - nicht teilnimmt
    - unsicher ist
    Die Mail soll also jeder bekommen, der sich entweder unsicher ist, oder noch nichts eingetragen hat.
    Teilnehmende und Nicht-teilnehmende Mitglieder sind logischerweise außen vor.
    Weiterhin lässt sich die Zeit (in Tagen) angeben, wann die Mails vor dem entsprechenden Event abgeschickt werden sollen (im Screenshot edit(2).png "Benachrichtigung").


    Ich habe das Plugin "WP-Mail-SMTP" installiert, um die WP_Mail() umzukonfigurieren - auf meine gmail Adresse, da später auch gmail verwendet wird (siehe Screenshot "wp-mail-smtp.png").

    Nachdem die SMTP-Einstellungen vorgenommen wurden, habe ich eine Testmail über das Plugin schicken lassen, welches mir folgendes Resultat geliefert hat. Diese Mail kommt auch an. (Passwort ersetzt):
    https://codeshare.io/oR0mE

    Folgender Versuch eine Mail zu versenden klappt nicht:
    https://codeshare.io/8RmlY - folgenden Eintrag bekomme ich danach unter "XAMPP/mailoutput/": https://codeshare.io/3vnvU
    Alle anderen Anweisungen, wie das Überschreiben der Datensätze, das Einfügen des Logeintrags in der DB und der Admin-Notice werden ausgeführt. Auch wenn ich die Anweisung für wp_mail an anderer Stelle in diesem If-Block setze, passiert....... Nichts!

    Wenn ich in derselben Datei allerdings an folgender Stelle die gleiche Mail senden lasse, dann klappt das Versenden:
    https://codeshare.io/GgE6d


    Zum Schluss sei vielleicht noch erwähnt, dass ich momentan lokal über XAMPP teste.


    In der Hoffnung, dass von euch jemand eine Idee hat, wie ich das Ganze doch noch zum Laufen bekomme...


    Gruß
    Jakob

    P.S.: falls mir jemand tipps zum debuggen geben kann.. immer her damit :)
    P.P.S: anbei ein paar Screenshots vom Backend, zum besseren Verständnis.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Ich habe eine Lösung gefunden. So wie es aussieht führt WP keine WP-Funktionen, wie wp_mail() aus, wenn sie nicht in einem angezeigten Bereich liegen.
    Da für das BAckend mehrere Menüpunkte angelegt wurden, konnte ich meíne Abfrage, ob das Bestätigen der Eventänderung vorgenommen wurde in meine Funktion für das Menü verschieben.
    Dann funktioniert alles tiptop..

  • Hallo Jakob,

    wenn Du Dir die Zeile

    Code
    $headers = "From: " . __(get_option('mail_from_name')) . " <" . __(get_option('mail_from'));

    anschaust, sollte Dir am Ende selbst ein Fehler auffallen. Vielleicht erkennst Du das Offensichtliche. :)

  • Wenn die Mail durch Verschieben der Funktion an einer anderen Stelle funktioniert, solltest Du ggf. untersuchen, was $wpdg->update zurück liefert.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!