I messaggi email vengono inviati alla tua app come richieste HTTP. Per elaborare i messaggi email in arrivo, devi associare gli indirizzi email ai servlet nella configurazione dell'applicazione e poi includere il codice del servlet nell'app. L'email in arrivo genera richieste HTTP che vengono trasmesse ai servlet appropriati per la gestione.
Configurazione dell'applicazione per ricevere email
Quando crei una nuova applicazione, la posta in arrivo è disattivata per impostazione predefinita. Se non attivi esplicitamente i messaggi email in arrivo, questi vengono ignorati.
Per attivare il servizio di posta in arrivo, modifica i file di configurazione appengine-web.xml
e
web.xml
:
Abilitazione dell'email in appengine-web.xml
Modifica appengine-web.xml
aggiungendo una sezione inbound-services
che
attiva il servizio di posta in arrivo:
I messaggi email vengono inviati alla tua app come richieste POST HTTP utilizzando il seguente URL:
/_ah/mail/<ADDRESS>
dove <ADDRESS>
è un indirizzo email completo, incluso il nome di dominio. Tieni presente che anche
se la tua app è implementata su un dominio personalizzato, non può ricevere email inviate
agli indirizzi di quel dominio.
Attivazione dell'email in web.xml
Modifica web.xml
mappando gli URL delle email alle servlet:
Negli snippet precedenti, /_ah/mail/*
corrisponde a tutte le email indirizzate all'app.
Le servlet di posta vengono eseguite nella versione attualmente in pubblicazione dell'app in App Engine.
Distribuzione dei messaggi in arrivo basata su pattern
Se la tua app utilizza la corrispondenza di pattern, valuta la possibilità di utilizzare un approccio basato sui filtri in base ai seguenti snippet di codice.
Manovratore di calcestruzzo
Il gestore concreto precedente viene registrato utilizzando il seguente snippet in
web.xml
:
Tieni presente che le direttive security-constraint
non sono possibili sui filtri;
le norme di sicurezza sul gestore dovranno essere introdotte in un altro modo.
Abstract handler
Gestione delle email in arrivo
L'API JavaMail include la classe MimeMessage
, che puoi utilizzare per analizzare i messaggi email in arrivo. MimeMessage
ha un costruttore che accetta un
java.io.InputStream
e una sessione JavaMail, che può avere una
configurazione vuota.
Crea un'istanza MimeMessage
come questa:
Puoi quindi utilizzare vari metodi per analizzare l'oggetto message
:
- Chiama
getFrom()
per restituire il mittente del messaggio. - Chiama
getContentType()
per estrarre il tipo di contenuti del messaggio. Il metodogetContent()
restituisce un oggetto che implementa l'interfacciaMultipart
. - Chiama il numero
getCount()
per determinare il numero di pezzi - Chiama
getBodyPart(int index)
per restituire una parte del corpo specifica.
Dopo aver configurato l'app per gestire le email in arrivo, puoi utilizzare la console del server di sviluppo per simulare i messaggi email in arrivo. Per saperne di più, incluso come avviare il server di sviluppo, consulta Il server di sviluppo Java. Dopo aver avviato l'applicazione nel server di sviluppo locale, puoi accedervi visitando l'URL http://localhost:8888/_ah/admin/, sostituendo il valore 8888 con la porta che stai utilizzando se non utilizzi la porta predefinita per il server di sviluppo locale.
Nel server di sviluppo, fai clic su Posta in arrivo a sinistra, compila il modulo visualizzato e fai clic su Invia email.