WordPress für die Entwicklung von Webanwendungen E-Mail

Eine der Hauptkomponenten jeder Webanwendung ist das Senden von E-Mails.

Das bedeutet nicht, dass jede Webanwendung ein eigener E-Mail-Client ist (obwohl die Benutzer sicherlich ihren eigenen erstellen)..

Ich meine damit, dass Anwendungen normalerweise E-Mails senden, wenn sich ein Benutzer anmeldet, ein Benutzer sein Kennwort ändert, wenn sich etwas im System ändert, oder - im Allgemeinen - immer dann, wenn etwas geschieht, für das die Websitebesitzer die Benutzer benachrichtigen möchten.

In dieser Serie haben wir bisher Folgendes behandelt:

  • Benutzerverwaltung
  • Berechtigungen
  • Sitzungsmanagement

Der letzte Artikel war wohl einer der kompliziertesten, den wir behandeln werden. Es ist jedoch für diejenigen von Ihnen erforderlich, die Ihren Projekten erweiterte Funktionen hinzufügen möchten.

Nachdem dies gesagt wurde, machen wir eine Pause von etwas komplizierterem Material und schauen uns an, was WordPress zu bieten hat, was das Senden von E-Mails angeht.


E-Mail verstehen

Bevor wir uns mit den Möglichkeiten der WordPress-API beim Senden von E-Mails, dem Anpassen von E-Mails und dergleichen beschäftigen, ist es wichtig, ein paar Dinge über E-Mail zu verstehen.

Es ist nämlich wichtig, die Komponenten zu verstehen, aus denen eine E-Mail tatsächlich erstellt wird - schließlich handelt es sich nicht nur um eine Adresse, einen Betreff und einen Inhalt.

Es gibt einige technische Nuancen, die es zu verstehen gilt, bevor wir unsere eigenen benutzerdefinierten E-Mails erstellen.

Kopfzeilen

Kurz gesagt, enthalten E-Mail-Header ein Mindestmaß an Informationen, darunter: Von wem die E-Mail gesendet wird und die Adressen, an die die E-Mail gesendet wird.

In der Regel werden in der Kopfzeile zusätzliche Informationen angezeigt. Diese Informationen können beispielsweise einen Zeitstempel für das Senden der E-Mail enthalten.

Wenn es sich um WordPress handelt, wird der im E-Mail-Header angegebene Absender immer als Standardsender in WordPress definiert, sofern nicht anders angegeben.

Wenn Sie beispielsweise versuchen, die Antwortadresse als "[email protected]", dann müssen Sie dies anpassen.

Darüber hinaus empfiehlt es sich in der Regel, mit E-Mail-Headern in Form eines Arrays zu arbeiten, damit Sie Adressen, Carbon Copy-Adressen und blinde Carbon Copy-Empfänger problemlos erstellen, angeben und weiterleiten können.

Mime Typ

Wenn es um das Format der E-Mails geht, werden Sie wahrscheinlich zwei Formulare sehen:

  • Einfacher Text
  • HTML

Sie sind es gewohnt, HTML in den meisten modernen E-Mail-Clients zu sehen. Wenn Sie jedoch einen einfacheren Client haben und nur Klartext anzeigen oder E-Mails auf einem etwas älteren Telefon lesen, lesen Sie den Inhalt in Klartext.

WordPress ermöglicht das Versenden von E-Mails entweder in Text oder HTML.

Wenn wir uns ein Beispiel für das programmgesteuerte Senden einer E-Mail ansehen, schauen wir uns genau an, wie das geht. Kurz gesagt, es gibt einen Haken, der es wirklich einfach macht - aber wir werden abwarten, bis er den Rest der notwendigen Teile einer E-Mail behandelt.

Anlagen

Wie Sie wissen, handelt es sich bei Anhängen praktisch um jede Datei, die Sie an eine E-Mail angehängt haben und die Sie an einen Empfänger senden.

Die Sache ist, es gibt einige Regeln für E-Mails - sie werden jedoch nicht notwendigerweise von der Software festgelegt. Stattdessen schränken Server, E-Mail-Clients und andere verschiedene Regeln ein, was wir in unserem Posteingang erhalten können.

Zum Beispiel:

  • Einige Clients erlauben das Senden von ZIP-Dateien oder ausführbaren Dateien nicht
  • Viele E-Mail-Dienste haben eine maximale Dateigröße, die angehängt werden kann
  • Bestimmte Arten von E-Mails werden möglicherweise aufgrund ihrer Anhänge (oder ihres Inhalts) als Spam gekennzeichnet.

Egal, das liegt außerhalb unserer Kontrolle - wir müssen nur die Einschränkungen kennen, an die wir E-Mails senden, und sicherstellen, dass wir in ihnen bleiben.

Daher ist das Erstellen von Anlagen zum Versenden mit WordPress-E-Mails sehr einfach.

Obwohl Anhänge offensichtlich nicht erforderlich sind, möchten Sie möglicherweise eine einzelne Datei oder sogar mehrere Dateien anhängen. In WordPress kann dies entweder mit einem String oder einem Array erfolgen.

Wir werden uns jetzt nicht genau ansehen, wie das geht, aber wir werden Wenn Sie sich ein Beispiel ansehen, wie Sie programmgesteuert eine E-Mail senden, sehen Sie kurz darauf.

An, Betreff und Nachricht

Grundsätzlich besteht jede E-Mail aus einem "Zu"E-Mail-Adresse ein"Gegenstand", und ein "Botschaft".

In WordPress lassen sich diese Einstellungen auch ganz einfach festlegen. Stellen Sie einfach Strings bereit, und schon können Sie loslegen.

Wenn Sie eine E-Mail an mehrere Personen senden möchten, können Sie natürlich eine Ansammlung von Adressen durchlaufen und pro Benutzer eine E-Mail senden, oder Sie können der WordPress Mail API eine Reihe von Empfängern zur Verfügung stellen, und die E-Mail wird an alle Empfänger verschickt.

Und denken Sie daran: Wenn Sie etwas anderes angeben möchten Antwort an Adresse, die in den Kopfzeilen steht, die wir zuvor in diesem Artikel behandelt haben.


Verwenden der WordPress-E-Mail-API

Wir sind also bereit, einen Blick auf die WordPress-E-Mail-API zu werfen.

Kurz gesagt, alle Funktionen sind in einer aufgerufenen Funktion zusammengefasst wp_mail; aber dort sind ein paar Haken, von denen wir wissen müssen, ob wir das Angebot der Anwendung voll ausnutzen möchten.

Die erforderlichen Haken

Im Einzelnen werden wir die folgenden Haken verwenden:

  • wp_mail_content_type Damit können wir den MIME-Typ der gesendeten E-Mail definieren
  • wp_mail_from ist ein Filter, mit dem wir die Absenderadresse definieren können, anstatt die $ Kopfzeilen Array
  • wp_mail_from_name ist ein Filter, mit dem wir die Person definieren können, anstatt sie zu verwenden $ Kopfzeilen Array
  • wp_login Dies ist der Haken, den wir zur Demonstration verwenden werden. Wir senden E-Mails an eine Person, wenn sich eine Person im WordPress-Dashboard anmeldet

Der Vollständigkeit halber teile ich den gesamten Code unten und dann gehen wir ihn durch.

Der Quellcode


'; $ message. = 'Ihr Konto wurde erstellt. Ihre Anmeldeinformationen finden Sie unten: '; $ message. = '
'; $ message. = '
    '; $ message. = '
  • Nutzername: ' . $ input ['email-address']. '
  • '; $ message. = '
  • Passwort: ' . $ Passwort '
  • '; $ message. = '
'; $ message. = '
'; $ message. = 'Hier können Sie sich bei der Anwendung anmelden.'; add_filter ('wp_mail_content_type', create_function ("," return "text / html"; ')); add_filter (' wp_mail_from ',' acme_mail_from '); add_filter (' wp_mail_from_name ',' acme_mail_from_name '); E-Mail-Adresse '],' Ihr Acme-Konto wurde erstellt! ', $ message, array ()); Funktion acme_mail_from ($ email) // HINWEIS: Ersetzen Sie [um] durch @. Dies führte zu Problemen mit der Syntax Textmarker. return 'donotreply [at] acme.com'; Funktion acme_mail_from_name ($ name) return 'The Acme Company';

Wenn Sie diesen Artikel bisher weiterverfolgt haben, sollte das alles nicht sonderlich überraschend sein: Schließlich nutzen wir die Hooks, die WordPress bietet, und bauen Strings auf, die als Funktionsargumente und dann weitergegeben werden wir nennen das wp_mail Funktion.

Beachten Sie jedoch, dass wir sind ein leeres Array als übergeben $ Kopfzeilen Argument für diese E-Mail. Dies liegt daran, dass wir einen benutzerdefinierten Filter verwenden, um die "Von Namen" und das "Von der Adresse"Verwendung eines Filters und einer Hook - Funktion anstelle eines Arrays.

Dieser Weg ist nicht unbedingt besser als die Alternative; Es soll jedoch zeigen, dass es mehrere Wege gibt, um dasselbe Ergebnis zu erzielen.


Und nun zu den Daten!

Dies ist eine weitere Funktion von WordPress, mit der es wirklich einfach ist, E-Mail-Funktionen in Ihre Webanwendung aufzunehmen.

Ich denke, das Eventing-Modell von WordPress macht die Einführung von E-Mail-Funktionen für nahezu jedes denkbare Szenario lächerlich. Wenn es einen Haken gibt, kann eine E-Mail gesendet werden.

Nachdem dies gesagt wurde, ist es an der Zeit, uns einem der häufigsten Aspekte der Entwicklung von Webanwendungen zu widmen: dem Datenmanagement.

Insbesondere müssen wir untersuchen, wie Informationen in der Datenbank gespeichert und aus den Daten abgerufen werden können und wie dies auf sichere und effiziente Weise geschehen kann.

Ab dem nächsten Artikel machen wir genau das.