Questa guida descrive come utilizzare l'API Mail per ricevere email.
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.
Prima di iniziare
Devi registrare le email dei mittenti come mittenti autorizzati. Per saperne di più, consulta Chi può inviare email.
Configurare l'applicazione per ricevere email
Quando crei una nuova applicazione, le email in arrivo sono disattivate per impostazione predefinita. Se non attivi esplicitamente le email in arrivo, i messaggi inviati alla tua app vengono ignorati.
Per attivare il servizio di email in arrivo, modifica i appengine-web.xml e
web.xml file di configurazione:
Attivare le email in appengine-web.xml
Modifica appengine-web.xml aggiungendo una sezione inbound-services che attiva il servizio di email in arrivo:
I messaggi email vengono inviati alla tua app come richieste HTTP POST 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 è sottoposta a deployment su un dominio personalizzato, non può ricevere email inviate agli indirizzi in quel dominio.
Attivare le email in web.xml
Modifica web.xml mappando gli URL delle 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 in pubblicazione 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 in base ai seguenti snippet di codice.
Gestore concreto
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.
Gestore astratto
Gestire le 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 segue:
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. IlgetContent()metodo restituisce un oggetto che implementa l'Multipartinterfaccia. - 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ù, 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 Email in arrivo sul lato sinistro, compila il modulo visualizzato e fai clic su Invia email.