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 servlet nell'app. L'email in arrivo genera richieste HTTP che vengono passate ai servlet appropriati per la gestione.
Configurare l'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 inviati alla tua app, questi vengono ignorati.
Per attivare 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 entrata:
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 è stata implementata su un dominio personalizzato, l'app non potrà ricevere email inviate a
indirizzi IP in quel dominio.
Attivazione dell'email in web.xml
Modifica web.xml
mappando gli URL email ai servlet:
Negli snippet precedenti, /_ah/mail/*
corrisponde a tutte le email indirizzate all'app.
I servlet di posta vengono eseguiti nella versione attualmente pubblicata dell'app in App Engine.
Invio dei messaggi in arrivo in base a pattern
Se la tua app utilizza la corrispondenza di pattern, valuta la possibilità di utilizzare un approccio basato su filtri basato su i seguenti snippet di codice.
Gestore del cemento
Il precedente gestore di concreto viene registrato utilizzando il seguente snippet in
web.xml
:
Tieni presente che non sono possibili istruzioni security-constraint
per i filtri.
i criteri di sicurezza sul gestore dovranno essere introdotti in qualche altro modo.
Gestore astratti
Gestione delle email in arrivo
L'API JavaMail include la classe MimeMessage
che puoi utilizzare per analizzare
messaggi email in arrivo. MimeMessage
ha un costruttore che accetta
java.io.InputStream
e una sessione JavaMail, che può avere uno spazio
configurazione.
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 contenuto del messaggio. La Il metodogetContent()
restituisce un oggetto che implementa il metodoMultipart
a riga di comando. - Chiama
getCount()
per determinare il numero di parti - 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ù, ad esempio su come per avviare il server di sviluppo, consulta La libreria di Java di sviluppo. Dopo aver avviato l'applicazione nel server di sviluppo, puoi accedere alla tua applicazione visitando l'URL http://localhost:8888/_ah/admin/, sostituendo il valore 8888 con la porta in uso predefinita per il server di sviluppo locale.
Nel server di sviluppo, fai clic su Posta in entrata a sinistra, compila visualizzato e fai clic su Invia email.