Personalizzazione delle email

Quando un utente interagisce con la vostra applicazione, potreste voler inviare una risposta o chiedere una verifica. App ID fornisce modelli predefiniti che potete usare per le interazioni. Puoi anche utilizzare i template come una guida e personalizzare la tua messaggistica per rispondere alle esigenze del tuo marchio.

App ID utilizza SendGrid come servizio di consegna della posta. Tutte le email vengono inviate con un unico account SendGrid.

Configurazione delle impostazioni email

Con App ID, è possibile scegliere di utilizzare le credenziali predefinite di App ID SendGrid o aggiungere il proprio account SendGrid o configurare un webhook personalizzato per inviare messaggi e-mail in Cloud Directory.

Utilizzo del provider di email predefinito IBM

Per impostazione predefinita, App ID utilizza SendGrid come servizio di consegna delle e-mail per Cloud Directory.

  1. Vai alla pagina Cloud Directory > Email templates > Email settings del dashboard del servizio.

  2. Seleziona Default. Vengono visualizzate le informazioni che devi immettere.

  3. Configura i tuoi dettagli del mittente (Sender details).

    1. In From, immetti l'indirizzo email da quale desideri che gli utenti ricevano le tue email.

    2. In Sender name, immetti il nome che vuoi che sia associato alla mail "From".

    3. In Reply-to, immetti l'indirizzo email dove vuoi ricevere le eventuali risposte che qualcuno potrebbe avere all'email.

  4. Fai clic su Test per provare la tua configurazione con una email di prova.

  5. Fai clic su Save per abilitare la tua configurazione.

Aggiunta di un tuo account SendGrid

Utilizzando un tuo account SendGrid per inviare le tue email Cloud Directory, hai il pieno controllo. Puoi decidere come vengono inviate le email, utilizzare un tuo nome dominio e definire i dettagli del mittente. Con le impostazioni di email personalizzate, puoi ridurre le possibilità che una email venga filtrata come posta indesiderata incrementando anche, al tempo stesso, il riconoscimento del marchio per la tua applicazione.

Una connessione diretta al tuo provider di email può aiutarti a ottenere informazioni sui singoli messaggi quali il numero di persone che ha aperto le email e quali messaggi non sono stati recapitati. Puoi anche vedere le statistiche complessive che puoi utilizzare per gestire meglio le tue campagne email.

Non hai un account SendGrid? Registrati.

  1. Vai alla pagina Cloud Directory > Email templates > Email settings del dashboard del servizio.

  2. Seleziona SendGrid. Vengono visualizzate le informazioni che devi immettere.

  3. In SendGrid API key, immetti la tua chiave API.

  4. Configura i tuoi dettagli del mittente (Sender details).

    1. In From, immetti l'indirizzo email da quale desideri che gli utenti ricevano le tue email.

    2. In Sender name, immetti il nome che vuoi che sia associato alla mail "From".

    3. In Reply-to, immetti l'indirizzo email dove vuoi ricevere le eventuali risposte che qualcuno potrebbe avere all'email.

  5. Fai clic su Test per provare la tua configurazione con una email di prova.

  6. Fai clic su Save per abilitare la tua configurazione.

Personalizzazione del tuo provider email

Definendo il tuo punto di estensione personalizzato per inviare le tue email Cloud Directory, hai il pieno controllo. Puoi decidere come vengono inviate le email, utilizzare un tuo nome dominio e definire i dettagli del mittente. Con le impostazioni di email personalizzate, puoi ridurre le possibilità che una email venga filtrata come posta indesiderata incrementando anche, al tempo stesso, il riconoscimento del marchio per la tua applicazione.

Una connessione diretta al tuo provider di email può aiutarti a ottenere informazioni sui singoli messaggi quali il numero di persone che ha aperto le email e quali messaggi non sono stati recapitati. Puoi anche vedere le statistiche complessive che puoi utilizzare per gestire meglio le tue campagne email.

Configurazione di un provider personalizzato con la GUI

Puoi utilizzare il dashboard del servizio per configurare il tuo provider personalizzato.

  1. Vai alla pagina Cloud Directory > Email templates > Email settings del dashboard del servizio.

  2. Seleziona Custom. Vengono visualizzate le informazioni che devi immettere.

  3. In Webhook, immetti il tuo URL di estensione personalizzato.

  4. Seleziona un tipo di autorizzazione (Authorization type). Puoi scegliere dalle seguenti opzioni:

    • None: l'URL o l'endpoint webhook non richiede un'intestazione di autorizzazione.
    • Basic: L'endpoint webhook richiede un'intestazione di autorizzazione HTTP con ogni richiesta nel formato di un nome utente e una password.
    • Authorization headers: La richiesta webhook richiede che passi le informazioni di autorizzazione per il tuo endpoint in un'autorizzazione HTTP. Ad esempio, potesti passare un token OAuth 2.0: Authorization: Bearer eyJraWQiOiIyMDIwMDEyNTE2MzMiLCJhbGciOiJSUzI1NiJ9.eyJpYW1faWQiOiJJ.
  5. Configura i tuoi dettagli del mittente (Sender details).

    1. In From, immetti l'indirizzo email da quale desideri che gli utenti ricevano le tue email.

    2. In Sender name, immetti il nome che vuoi che sia associato alla mail "From".

    3. In Reply-to, immetti l'indirizzo email dove vuoi ricevere le eventuali risposte all'email.

  6. Fai clic su Test per provare la tua configurazione con una email di prova.

  7. Fai clic su Save per abilitare la tua configurazione.

Configurazione di un provider personalizzato con l'API

È possibile utilizzare le API di gestione di Cloud Directory per configurare il mittente e-mail personalizzato.

  1. Configura un punto di estensione che possa restare in ascolto per una richiesta POST. L'endpoint deve essere in grado di:

    • Leggere il payload che arriva da App ID.
    • Inviare l'email dal tuo provider personalizzato.
    • Opzionalmente, convalidare il payload JSON restituito da App ID non è stato alterato da terzi in alcun modo. Viene restituita una stringa formattata come {"jws": "jws-format-string"} che contiene il vostro ID inquilino, l'emittente del vostro token JWS, il timestamp di quando il messaggio è stato inviato, un ID di transazione univoco e le informazioni effettive del messaggio che includono i dettagli del mittente e il contenuto del corpo dell'e-mail.

    Il tuo punto di estensione potrebbe essere simile al seguente esempio:

    const sgMail = require('@sendgrid/mail');
    const {promisify} = require('bluebird');
    const request = promisify(require('request'));
    const jwtVerify = promisify(require('jsonwebtoken').verify);
    const jwtDecode = require('jsonwebtoken').decode;
    const jwkToPem = require('jwk-to-pem');
    
    async function obtainPublicKeys() {
       // Your instance tenant ID
       const tenantId = '<tenantID>';
    
       // Send request to App ID's public keys endpoint
       const keysOptions = {
       method: 'GET',
       url: `https://<region>.appid.cloud.ibm.com/oauth/v4/$<tenantID>/publickeys`
       };
       const keysResponse = await request(keysOptions);
       return JSON.parse(keysResponse.body).keys;
    }
    
    async function verifySignature(keysArray, kid, jws) {
       const keyJson = keysArray.find(key => key.kid === kid);
       if (keyJson) {
       const pem = jwkToPem(keyJson);
       await jwtVerify(jws, pem);
       return;
       }
       throw new Error ("Unable to verify signature");
    }
    
    async function verifyAndSendMail(jws) {
       // The API key for Sendgrid
       const sgApiKey = '<SengridApiKey>';
    
       // Init Sendgrind
       sgMail.setApiKey(sgApiKey);
    
       // Decode message to get information
       const data = jwtDecode(jws, {complete: true});
    
       // Extract kid from header
       const kid = data.header.kid;
    
       const keysArray = await obtainPublicKeys();
    
       // Verify the signature of the payload with the public keys
       await verifySignature(keysArray, kid ,jws);
    
       // Send the email with Your Sendgrid account
       const message = data.payload.message;
       const msg = {
       to: message.to,
       from: message.from.address,
       subject: message.subject,
       html: message.body,
       };
       console.log(`Sending email to ${message.to}`);
       let sendgridResponse = await sgMail.send(msg);
    
       return {result : 'email_sent',sendgridResponse};
    }
    
  2. Fare una richiesta PUT a /management/v4/<tenantID>/config/cloud_directory/email_dispatcher per fornire il webhook URL. Facoltativamente, puoi fornire le informazioni di autorizzazione. I tipi di autorizzazione supportati includono: Basic authorization e constant authorization header value.

    curl -X PUT https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/config/cloud_directory/email_dispatcher' \
    --header 'Accept: application/json' \
    --header 'Authorization: Bearer <IAMToken>' \
    -d '{
       "provider": "custom",
       "custom": {
       "url": "https://example.com/send_mail",
       "authorization": {
          "type": "basic",
          "username": "<username>",
          "password": "<password>"
          }
       }
       }'
    
  3. Verifica che la tua configurazione sia impostata correttamente verificando il tuo dispatcher email. Utilizzare il sito test API per attivare una richiesta al mittente e-mail personalizzato configurato.

Template di email

Quando invii messaggi ai tuoi utenti, puoi utilizzare qualsiasi combinazione dei seguenti template. In alternativa, puoi modificare i template per personalizzare il tuo messaggio.

Oltre ai seguenti tipi di messaggio, puoi anche avvalerti dei template MFA.

Per un'ulteriore personalizzazione, puoi usare i parametri nei tuoi messaggi. La tabella seguente mostra i parametri che possono essere utilizzati in tutti i tipi di messaggio.

I parametri che si possono utilizzare nei messaggi agli utenti
Parametro Descrizione
%{display.logo} Visualizza l'immagine che hai configurato per il tuo Widget di accesso.
%{user.displayName} Visualizza il nome della schermata che un utente ha scelto di utilizzare durante l'interazione con l'applicazione.
%{user.email} Visualizza l'indirizzo email registrato dell'utente.
%{user.username} Visualizza il nome utente specificato dall'utente quando il metodo di autenticazione è impostato su nome utente e password.
%{user.firstName} Visualizza il nome specificato dall'utente.
%{user.formattedName} Visualizza il nome completo dell'utente.
%{user.lastName} Visualizza il cognome specificato dall'utente.

Email: benvenuto

Quando un utente si registra per la tua applicazione, potresti volergli inviare un messaggio di benvenuto alla tua applicazione.

  1. Vai alla scheda Cloud Directory > Email templates > Welcome email del dashboard del servizio.

  2. Imposta Welcome email su Enabled.

  3. Personalizza il contenuto del tuo messaggio. È possibile aggiungere parametri e inserire immagini utilizzando la console. Per modificare la lingua del messaggio, è possibile utilizzare le API per impostare la lingua. Sei tuttavia responsabile del contenuto e della conversione del messaggio. La tabella seguente mostra l'elenco delle tabelle che è possibile utilizzare in questo messaggio e in tutti gli altri messaggi che è possibile inviare. Se un utente non fornisce le informazioni estratte dal parametro, questi campi saranno vuoti.

  4. Fare clic su Salva.

Email: verifica

Quando un utente si registra per la tua applicazione utilizzando la sua email, puoi inviargli una email che gli chiede di confermare la sua identità. Richiedendo una verifica, limiti il numero di account falsi che possono registrarsi alla tua applicazione. Puoi limitare l'accesso alla tua applicazione finché un utente verifica la propria email o utilizzarla come un modo per gestire per quali utenti crei i profili.

Gli utenti che vengono aggiunti manualmente tramite il dashboard App ID o l'API utente di creazione non ricevono automaticamente questa email.

  1. Vai alla scheda Cloud Directory > Email templates > Email verification del dashboard del servizio.

  2. Imposta Email verification su Enabled.

  3. Imposta Allow users to sign in to your app without first verifying their email address su Yes. Quando per questa impostazione viene specificato Yes, gli utenti possono interagire con la tua applicazione dopo aver eseguito la registrazione ma prima di verificare il loro indirizzo email. L'impostazione predefinita è no.

  4. Personalizza il contenuto del tuo messaggio. È possibile aggiungere parametri e inserire immagini utilizzando la console. Per modificare la lingua del messaggio, è possibile utilizzare le API per impostare la lingua. Sei tuttavia responsabile del contenuto e della conversione del messaggio. Consulta la seguente tabella per vedere i diversi parametri che puoi utilizzare nel tuo messaggio. Se un utente non fornisce le informazioni estratte dal parametro, questi campi saranno vuoti.

    Parametri che si possono usare nei messaggi relativi alla verifica
    Parametro Descrizione
    %{linkExpiration.hours} Visualizza il numero di ore per cui il link è valido.
    %{linkExpiration.minutes} Visualizza il numero di minuti per cui il link è valido.
    %{verify.code} Visualizza un URL di verifica monouso.
    %{verify.link} Verifica l'URL di azione che hai specificato nelle impostazioni.

    Puoi anche utilizzare i parametri di messaggio elencati nella sezione Messaggio di benvenuto.

  5. Definisci un tempo di scadenza per l'URL dell'azione. La scadenza dell'URL è la quantità di tempo, in minuti, entro cui l'utente deve completare l'azione prima che il link di verifica scada. Questa impostazione influenza anche la quantità di tempo per cui il tuo link di reimpostazione della password è valido.

  6. Immetti un URL per la pagina che vuoi visualizzare dopo che un utente ha eseguito la verifica della sua email nella casella Thank you page URL. Se scegli di lasciare vuoto questo campo, viene visualizzata una pagina predefinita App ID.

  7. Fare clic su Salva.

Email: reimposta password

Quando un utente interagisce con la tua applicazione, potrebbe dimenticare la sua password o dovere aggiornarla. Puoi personalizzare la risposta dell'email alla loro richiesta. Quando un utente richiede una modifica della sua password, la password rimane invariata finché non fa clic sul link in questa email.

  1. Vai alla scheda Cloud Directory > Email templates > Reset password del dashboard del servizio.

  2. Imposta Forgot password email su Enabled.

  3. Personalizza il contenuto del tuo messaggio. È possibile aggiungere parametri e inserire immagini utilizzando la console. Per modificare la lingua del messaggio, è possibile utilizzare le API per impostare la lingua. Sei tuttavia responsabile del contenuto e della conversione del messaggio. Consulta la seguente tabella per vedere i diversi parametri che puoi utilizzare nel tuo messaggio. Se un utente non fornisce le informazioni estratte dal parametro, questi campi saranno vuoti.

    Parametri che possono essere utilizzati nei messaggi relativi alle password dimenticate
    Parametro Descrizione
    %{linkExpiration.hours} Visualizza il numero di ore per cui il link è valido.
    %{linkExpiration.minutes} Visualizza il numero di minuti per cui il link è valido.
    %{resetPassword.code} Visualizza il passcode monouso come parte dell'URL. Ciò significa che ogni persona ha un codice diverso. Esempio: https://us-south.appid.cloud.ibm.com/wfm/verify/6574839563478
    %{resetPassword.link} Visualizza il link su cui può fare clic un utente per reimpostare la propria password.

    Puoi anche utilizzare i parametri di messaggio elencati nella sezione Messaggio di benvenuto.

  4. Definisci un tempo di scadenza per l'URL dell'azione. La scadenza dell'URL è la quantità di tempo, in minuti, entro cui l'utente deve completare l'azione prima che il link di verifica scada. Questa impostazione influenza anche la quantità di tempo per cui il tuo link di reimpostazione della password è valido.

  5. Immetti un URL per la pagina che vuoi visualizzare dopo che un utente ha eseguito la verifica della sua email nella casella Reset password page URL. Se scegli di lasciare vuoto questo campo, viene visualizzata una pagina predefinita App ID.

  6. Fare clic su Salva.

Email: modifica della password

Puoi inviare una notifica a un utente quando la sua password viene aggiornata. La notifica può essere utile nel caso in cui l'utente non abbia richiesto una modifica della sua password. Gli utenti possono prendere le misure appropriate per riproteggere i propri account.

  1. Vai alla scheda Cloud Directory > Email templates > Password change del dashboard del servizio.

  2. Imposta Password changed email su Enabled.

  3. Personalizza il contenuto del tuo messaggio. È possibile aggiungere parametri e inserire immagini utilizzando la console. Per modificare la lingua del messaggio, è possibile utilizzare le API per impostare la lingua. Sei tuttavia responsabile del contenuto e della conversione del messaggio. Consulta la seguente tabella per vedere i diversi parametri che puoi utilizzare nel tuo messaggio. Se un utente non fornisce le informazioni estratte dal parametro, questi campi saranno vuoti.

    Parametri che si possono utilizzare nei messaggi relativi alla modifica della password
    Parametro Descrizione
    %{passwordChangeInfo.time} Visualizza l'ora in cui una nuova password entra in vigore.
    %{passwordChangeInfo.ipAddress} Visualizza l'indirizzo IP da cui è stata richiesta la modifica della password.

    Puoi anche utilizzare i parametri di messaggio elencati nella sezione Messaggio di benvenuto.

  4. Fare clic su Salva.

Lingue supportate

È possibile utilizzare le API di gestione della lingua per impostare la lingua in cui scrivere le comunicazioni con gli utenti. Tuttavia per impostazione predefinita è disponibile solo l'inglese. Sei responsabile della conversione dei messaggi. Dopo aver impostato la configurazione con l'API, la GUI viene aggiornata in modo che puoi modificare il testo del modello.

Lingue supportate
Codice Lingua Regione
af-ZA Afrikaans Sud Africa
sq-AL Albanese Albania
am-ET Amarico Etiopia
ar-DZ Arabo Algeria
ar-BH Arabo Bahrain
ar-EG Arabo Egitto
ar-IQ Arabo Iraq
ar-JO Arabo Giordania
ar-KW Arabo Kuwait
ar-LB Arabo Libano
ar-LY Arabo Libia
ar-MR Arabo Mauritania
ar-MA Arabo Marocco
ar-OM Arabo Oman
ar-QA Arabo Qatar
ar-SA Arabo Arabia Saudita
ar-SY Arabo Siria
ar-YE Arabo Tunisia
ar-AE Arabo Emirati Arabi Uniti
ar-YE Arabo Yemen
hy-AM Armeno Armenia
as-IN Assamese India
az-AZ Azero Azerbaijan
eu-ES Basco Spagna
be-BY Bielorusso Bielorussia
bn-BD Bengalese Bangladesh
be-BY Bielorusso Bielorussia
bn-BD Bengalese Bangladesh
bn-IN Bengalese India
bs-Latn-BA Bosniaco Bosnia
bg-BG Bulgaro Bulgaria
my-MM Birmano Myanmar
ca-ES Catalano Spagna
zh-Hans-CN Cinese semplificato Cina
zh-Hans-SG Cinese semplificato Singapore
zh-Hant-HK Cinese tradizionale Hong Kong R.A.S (Cina)
zh-Hant-MO Cinese tradizionale Macao S.A.R. della Repubblica Popolare Cinese
zh-Hant-TW Cinese tradizionale Taiwan
hr-HR Croato Croazia
cs-CZ Ceco Repubblica Ceca
da-DK Danese Danimarca
nl-BE Olandese Belgio
nl-NL Olandese Paesi Bassi
en-AU Inglese Australia
eu-BE Inglese Belgio
en-CM Inglese Camerun
eu-CA Inglese Canada
en-GH Inglese Ghana
eu-HK Inglese Hong Kong R.A.S (Cina)
en-IN Inglese India
en-IE Inglese Irlanda
en-KE Inglese Kenya
en-MU Inglese Mauritius
en-NZ Inglese Nuova Zelanda
en-NG Inglese Nigeria
en-PH Inglese Filippine
en-SG Inglese Singapore
en-ZA Inglese Sud Africa
en-TZ Inglese Tanzania
en-GB Inglese Regno Unito
en-US Inglese Stati Uniti
en-ZM Inglese Zambia
en Inglese
et-EE Estone Estonia
fil-PH Filippino Filippine
fi-FI Finlandese Finlandia
fr-DZ Francese Algeria
fr-CM Francese Camerun
fr-CD Francese Repubblica democratica del Congo
fr-BE Francese Belgio
fr-CA Francese Canada
fr-FR Francese Francia
fr-CI Francese Costa d'Avorio (Côte d'Ivoire)
fr-LU Francese Lussemburgo
fr-MR Francese Mauritania
fr-MU Francese Mauritius
fr-MA Francese Marocco
fr-SN Francese Senegal
fr-CH Francese Svizzera
fr-TN Francese Tunisia
gl-ES Gallego Spagna
lg-UG Ganda Uganda
ka-GE Georgiano Georgia
de-AT Tedesco Austria
de-DE Tedesco Germania
de-LU Tedesco Lussemburgo
de-CH Tedesco Svizzera
el-GR Greco Grecia
gu-IN Gujarati India
ha-NG Hausa Nigeria
he-IL Ebraico Israele
hi-IN Hindi India
hu-HU Ungherese Ungheria
is-IS Islandese Islanda
ig-NG Igbo Nigeria
id-ID Indonesiano Indonesia
it-IT Italiano Italia
it-CH Italiano Svizzera
ja-JP Giapponese Giappone
kn-IN Kannada India
kk-KZ Kazaco Kazakistan
km-KH Khmer Cambogia
rw-RW Kinyarwanda Rwanda
kok-IN Konkani India
ko-KR Coreano Corea del Sud
lo-LA Lituano Lituania
lv-LV Lettone Lettonia
lt-LT Khmer Cambogia
mk-MK Macedone Macedonia
ms-Latn-MY Malese (alfabeto latino) Malaysia
ml-IN Malayalam India
mt-MT Maltese Malta
mr-IN Marathi India
mn-Cyrl-MN Mongolo (alfabeto cirillico) Mongolia
ne-IN Nepalese India
ne-NP Nepalese Nepal
nb-NO Norvegese (Bokmål) Norvegia
nn-NO Norvegese (Nynorsk) Norvegia
or-IN Oriya (Odia) India
om-ET Oromo Etiopia
pl-PL Polacco Polonia
pt-AO Portoghese Angola
pt-BR Portoghese Brasile
pt-MO Portoghese Macao S.A.R. della Repubblica Popolare Cinese
pt-MZ Portoghese Mozambico
pt-PT Portoghese Portogallo
pa-IN Punjabi India
ro-RO Romeno Romania
ru-RU Russo Russia
sr-Cyrl-RS Serbo (alfabeto cirillico) Serbia
sr-Latn-ME Serbo (alfabeto latino) Montenegro
sr-Latn-RS Serbo (alfabeto latino) Serbia
si-LK Singalese Sri Lanka
sk-SK Slovacco Slovacchia
sl-SI Sloveno Slovenia
es-AR Spagnolo Argentina
es-BO Spagnolo Bolivia
es-CL Spagnolo Cile
es-CO Spagnolo Colombia
es-CR Spagnolo Costa Rica
es-DO Spagnolo Repubblica Dominicana
es-EC Spagnolo Ecuador
es-SV Spagnolo El Salvador
es-GT Spagnolo Guatemala
es-HN Spagnolo Honduras
es-MX Spagnolo Messico
es-NI Spagnolo Nicaragua
es-PA Spagnolo Panama
es-PY Spagnolo Paraguay
es-PE Spagnolo Perù
es-PR Spagnolo Portorico
es-ES Spagnolo Spagna
es-US Spagnolo Stati Uniti
es-UY Spagnolo Uruguay
es-VE Spagnolo Venezuela
sw-KE Swahili Kenya
sw-TZ Swahili Tanzania
sv-SE Svedese Svezia
ta-IN Tamil India
te-IN Telugu India
th-TH Tailandese Thailandia
tr-TR Turco Turchia
uk-UA Ucraino Ucraina
ur-IN Urdu India
ur-PK Urdu Pakistan
uz-Cyrl-UZ Uzbeco (Alfabeto cirillico) Uzbekistan
uz-Latn-UZ Uzbeco (alfabeto latino) Uzbekistan
vi-VN Vietnamita Vietnam
cy-GB Gallese Regno Unito
yo-NG Yoruba Nigeria
zu-ZA Zulu Sud Africa