WordPress per lo sviluppo di app Web email

Uno dei componenti principali di ogni applicazione Web è la sua capacità di inviare e-mail.

Ora questo non significa che ogni applicazione web sia il proprio client di posta (anche se le persone ne creano sicuramente una).

Invece, voglio dire che le applicazioni normalmente inviano email quando un utente si registra, un utente modifica la sua password, quando qualcosa nel sistema cambia, o - più in generale - ogni qualvolta si verifica qualcosa per cui i proprietari del sito vogliono avvisare gli utenti.

Finora in questa serie, abbiamo coperto:

  • Gestione utenti
  • permessi
  • Gestione della sessione

L'ultimo articolo è stato probabilmente uno dei più complicati che tratteremo; tuttavia, è necessario per quelli di voi che cercano di aggiungere funzionalità più avanzate ai vostri progetti.

Detto questo, faremo una pausa da alcuni dei materiali più complicati e daremo un'occhiata e ciò che WordPress ha da offrire per quanto riguarda l'invio di e-mail è interessato.


Comprendere l'email

Prima di approfondire ciò che l'API di WordPress offre nel modo di inviare e-mail, personalizzare le e-mail e simili, è importante capire un paio di cose riguardo all'e-mail.

Vale a dire, è importante capire i componenti che vanno a creare un'e-mail effettiva - dopotutto, è più che un semplice indirizzo, soggetto e contenuto.

Ci sono alcune sfumature tecniche che vale la pena comprendere prima di iniziare a costruire le nostre e-mail personalizzate.

intestazioni

In breve, le intestazioni delle e-mail contengono un set minimo di informazioni, tra cui: da chi viene inviata l'email e gli indirizzi a cui viene inviata l'email.

In genere, è probabile che vengano visualizzate ulteriori informazioni nell'intestazione. Ad esempio, queste informazioni possono includere un timestamp per quando viene inviata l'email.

Quando si tratta di WordPress, il mittente specificato nell'intestazione dell'email è sempre definito come mittente predefinito in WordPress, se non diversamente specificato.

Ad esempio, se stai cercando di impostare l'indirizzo di risposta come "[email protected]", quindi questo è qualcosa che devi personalizzare.

Inoltre, di solito è una buona idea lavorare con le intestazioni delle e-mail sotto forma di un array in modo da poter facilmente costruire, specificare e passare ad indirizzi, indirizzi di copia carbone e destinatari in copia nascosta.

Tipo MIME

Quando si tratta del formato che seguono le email, è probabile che vedrete due forme:

  • Testo normale
  • HTML

Sei abituato a vedere l'HTML nella maggior parte dei moderni client di posta elettronica; tuttavia, se hai un client più semplice, hai impostato solo la visualizzazione del testo normale o stai leggendo la posta su un telefono leggermente più vecchio, quindi leggerai il contenuto in testo normale.

WordPress rende possibile l'invio di e-mail in formato testo o HTML.

Quando guardiamo un esempio di come inviare una e-mail a livello di programmazione, daremo un'occhiata esattamente a come farlo. In breve, c'è un gancio che lo rende davvero facile, ma aspetteremo di vederlo in azione finché non copriremo il resto delle parti necessarie di una e-mail.

allegati

Come sai, gli allegati sono praticamente tutti i file che hai allegato a una e-mail e che invii a un destinatario.

Il fatto è che ci sono alcune regole che regolano la posta elettronica - non sono necessariamente impostate dal software, però. Invece, server, client di posta elettronica e altre varie regole limitano ciò che possiamo ricevere nella nostra casella di posta.

Per esempio:

  • Alcuni client non consentono l'invio di file zip o file eseguibili
  • Molti servizi di posta elettronica hanno una dimensione massima del file che può essere allegata
  • Alcuni tipi di email possono essere contrassegnati come spam in base ai loro allegati (o al loro contenuto)

Indipendentemente da ciò, questo è al di fuori del nostro controllo - abbiamo solo bisogno di conoscere i limiti di chi stiamo inviando e-mail e assicurarci di stare al loro interno.

A tal fine, creare allegati da inviare con e-mail WordPress è davvero facile.

Sebbene gli allegati non siano ovviamente necessari, è possibile che si desideri allegare un singolo file o anche più file. In WordPress, questo può essere fatto con una stringa o un array.

Non daremo esattamente come farlo adesso, ma noi volontà arrivare a quello momentaneamente quando guardiamo un esempio di come inviare una e-mail a livello di programmazione.

A, Oggetto e Messaggio

Al livello più elementare, ogni email consiste di un "A"indirizzo email, a"Soggetto"e un"Messaggio".

In WordPress, anche questi sono veramente facili da impostare: basta fornire stringhe per ciascuno e sei pronto per partire.

Ovviamente, se vuoi inviare un'email a più persone, puoi scorrere una serie di indirizzi e inviare una email per utente, o puoi fornire una serie di destinatari all'API WordPress Mail e invierà l'email a tutti coloro che sono inclusi.

E ricorda: se vuoi specificare un altro rispondi a indirizzo, che va nelle intestazioni che abbiamo trattato in precedenza nell'articolo.


Utilizzo dell'API email di WordPress

Quindi, con tutto ciò detto, siamo pronti a dare un'occhiata all'API di WordPress.

In breve, tutte le funzionalità sono racchiuse in una funzione chiamata wp_mail; tuttavia, lì siamo alcuni ganci di cui dobbiamo essere consapevoli se vogliamo sfruttare appieno l'offerta dell'applicazione.

I ganci richiesti

In particolare, utilizzeremo i seguenti hook:

  • wp_mail_content_type ci consente di definire il tipo MIME dell'email inviata
  • wp_mail_from è un filtro che possiamo usare per definire l'indirizzo da, piuttosto che usare il $ headers schieramento
  • wp_mail_from_name è un filtro che possiamo usare per definire la persona da, piuttosto che usare il $ headers schieramento
  • wp_login è il gancio che useremo per la dimostrazione in modo tale che invieremo email a una persona ogni volta che una persona accede al dashboard di WordPress

Per completezza, condividerò l'intero codice qui sotto e poi lo attraverseremo.

Il codice sorgente


'; $ message. = 'Il tuo account è stato creato. Le tue informazioni di accesso sono di seguito: '; $ message. = '
'; $ message. = '
    '; $ message. = '
  • Nome utente: '. $ input ['indirizzo email']. '
  • '; $ message. = '
  • Parola d'ordine: ' . $ password. '
  • '; $ message. = '
'; $ message. = '
'; $ message. = 'Puoi accedere all'applicazione qui.'; 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'); wp_mail ($ input [' indirizzo email '],' Il tuo account Acme è stato creato! ', $ message, array ()); funzione acme_mail_from ($ email) // NOTA: sostituisci [at] con @. Ciò causava problemi con la sintassi evidenziatore. return 'donotreply [at] acme.com'; function acme_mail_from_name ($ name) return 'The Acme Company';

Se hai seguito questo articolo fino ad ora, allora niente di tutto questo dovrebbe essere terribilmente sorprendente: dopotutto, stiamo sfruttando i vantaggi offerti da WordPress, stiamo costruendo stringhe da passare come argomenti di funzione, e quindi stiamo chiamando il wp_mail funzione.

Si noti tuttavia che noi siamo passando un array vuoto come il $ headers argomento per questa email Questo perché stiamo usando un filtro personalizzato per impostare il "Dal nome" e il "Dall'indirizzo"utilizzando un filtro e una funzione collegata piuttosto che una matrice.

In questo modo non è necessariamente migliore dell'alternativa; tuttavia, ha lo scopo di dimostrare che esistono diversi modi per ottenere lo stesso risultato.


E ora, su Data!

Quindi questa è un'altra caratteristica di WordPress che rende davvero facile includere funzionalità di posta elettronica nella tua applicazione web.

In effetti, penso che il modello di eventi di WordPress rende ridicolmente facile introdurre la funzionalità di posta per quasi tutti gli scenari immaginabili - se c'è un gancio disponibile per esso, è possibile inviare un'e-mail.

Detto ciò, è tempo di rivolgere la nostra attenzione a uno degli aspetti più comuni dello sviluppo di applicazioni web: la gestione dei dati.

Nello specifico, dobbiamo esaminare in che modo le informazioni possono essere salvate nel database e recuperate dai dati e come possono essere eseguite in modo sicuro ed efficiente.

Quindi, a partire dal prossimo articolo, faremo esattamente questo.