Email

Template email basati su token, inviati tramite cbmailservices.

In questa pagina

Email

I template email usano cbmailservices con semplici segnaposto @token@, sostituiti al momento dell'invio:

<h1>Reset Your Password</h1>
<p>Click the link below to reset your password:</p>
<a href="@linkToken@">Reset Password</a>
<p>This link expires @expiration@.</p>

Inviato da una chiamata al servizio:

mailService.newMail()
    .config( from = "noreply@app.com", to = user.getEmail(), subject = "Reset Password" )
    .setBodyTokens( { linkToken: resetLink, expiration: "in 60 minutes" } )
    .setBodyTemplate( "password_verification" )
    .send();

Template forniti

TemplateInviato quando
user_welcome.bxmViene creato un nuovo account
registration_verification.bxmUn nuovo account necessita di verifica email
password_verification.bxmViene richiesto un link di reset password
password_reset.bxmConferma dopo un cambio password
email_change_confirmation.bxmUn utente richiede un cambio email - inviato al nuovo indirizzo per confermarlo
email_change_notice.bxmUn utente richiede un cambio email - inviato al vecchio indirizzo come avviso

Protocollo per ambiente

Protocollo file in sviluppo

In sviluppo, app/config/modules/cbmailservices.bx scrive la posta in uscita su disco invece di inviarla - nulla lascia la tua macchina mentre stai sviluppando. Configura un provider SMTP reale (Postmark, SendGrid, o SMTP semplice) per la produzione - vedi Deployment.

Visualizzatore del log email (sviluppo)

Ogni email scritta su disco dal protocollo file può essere sfogliata su /cbmailservices/log mentre l'app è in esecuzione in sviluppo. È una pagina di cbmailservices stesso (non un handler di cbGenesis), che elenca ogni messaggio inviato con un'anteprima renderizzata e una vista del sorgente grezzo dell'HTML effettivamente generato:

The cbMailServices Log viewer, showing a rendered preview of a verification email
Anteprima - l'email renderizzata, esattamente come la vedrebbe un destinatario.
The cbMailServices Log viewer's Source tab, showing the raw HTML of a sent email
Sorgente - l'HTML/metadati grezzi che cbmailservices ha scritto su disco.

Il visualizzatore compare solo in sviluppo: Log.cfc controlla controller.getSetting( "environment" ) == "development" a ogni azione e restituisce altrimenti un 404, quindi non c'è nulla da disabilitare prima del deployment.

Come trova la tua posta

Il servizio di log non legge una cartella fissa - ispeziona ogni mailer registrato nell'impostazione mailers di app/config/modules/cbmailservices.bx, ed elenca i messaggi di qualsiasi mailer che usa il protocollo File:

mailers : {
    "default" : { class : "BXMail" },
    "files" : { class : "File", properties : { filePath : "/app/logs" } }
},

cbGenesis fornisce quel mailer files pronto all'uso, e development() nello stesso file imposta defaultProtocol su "files" - così ogni email che l'app invia mentre environment è development finisce lì automaticamente, senza nulla da configurare in più.

Per puntarlo a una cartella diversa, o per aggiungere un secondo mailer basato su file per testare un'altra configurazione in isolamento, aggiungi o modifica una voce sotto mailers con class: "File" e un filePath; il visualizzatore recepisce qualsiasi mailer che corrisponda, non solo files.

Gestire i messaggi

Sia l'interfaccia sia le sue rotte JSON sottostanti supportano la pulizia, utile quando un'esecuzione di test lascia un cumulo di messaggi:

AzioneRotta
Elenca messaggi (JSON)GET /cbmailservices/log/messages
Visualizza un messaggio (JSON)GET /cbmailservices/log/message/:id
Elimina un messaggioDELETE /cbmailservices/log/message/:id
Elimina un insieme specificoDELETE /cbmailservices/log/messages con { "ids": [...] }
Elimina tuttoDELETE /cbmailservices/log/messages con { "all": true }
Modifica questa pagina Scarica Markdown Ultimo aggiornamento Oct 1, 2026, 2:02:30 PM