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, quindi includere il codice servlet con la tua app. L'email in arrivo genera richieste HTTP che vengono passate ai servlet appropriati per la gestione.
Configurazione dell'applicazione per la ricezione di email
Quando crei una nuova applicazione, la posta in arrivo è disattivata per impostazione predefinita. Se non abiliti esplicitamente i messaggi email in arrivo inviati alla tua app, vengono ignorati.
Per abilitare il servizio email in arrivo, modifica i file di configurazione appengine-web.xml
e web.xml
:
Attivazione dell'email in appengine-web.xml
Modifica appengine-web.xml
aggiungendo una sezione inbound-services
che
abilita il servizio email 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 il deployment dell'app è stato eseguito su un dominio personalizzato, l'app non può ricevere email inviate agli
indirizzi di quel dominio.
Attivazione dell'email in web.xml
Modifica web.xml
mappando gli URL email ai servlet:
Negli snippet riportati sopra, /_ah/mail/*
corrisponde a tutte le email indirizzate all'app.
I servlet di posta vengono eseguiti nella versione attualmente pubblicata della tua app in App Engine.
Invio dei messaggi in arrivo basato su pattern
Se la tua app utilizza la corrispondenza di pattern, valuta la possibilità di utilizzare un approccio basato su filtri basato sui seguenti snippet di codice.
Gestore di calcestruzzo
Il gestore concreto sopra indicato è registrato utilizzando il seguente snippet in web.xml
:
Tieni presente che le istruzioni security-constraint
non sono possibili per i filtri;
i criteri di sicurezza sul gestore dovranno essere introdotti in altro modo.
Gestore di estratti conto
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 una sessione 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. - Richiama
getContentType()
per estrarre il tipo di contenuti del messaggio. Il metodogetContent()
restituisce un oggetto che implementa l'interfacciaMultipart
. - Chiama
getCount()
per determinare il numero di parti - Chiama
getBodyPart(int index)
per restituire una determinata parte del corpo.
Dopo aver configurato l'app per la gestione delle email in arrivo, puoi utilizzare la console del server di sviluppo per simulare le email in arrivo. Per scoprire di più, incluse informazioni sull'avvio del 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 in uso, se non usi quella predefinita per il server di sviluppo locale.
Nel server di sviluppo, fai clic su Posta in entrata a sinistra, compila il modulo visualizzato e fai clic su Invia email.