L'API Mail Service per Java supporta l'interfaccia JavaMail (javax.mail
) per l'invio di messaggi email.
Prima di iniziare
Registrare gli indirizzi email dei mittenti come mittenti autorizzati. Per ulteriori informazioni, vedi chi può inviare email.
Invio di email
Per inviare messaggi email, utilizza le classi JavaMail incluse in App Engine l'SDK.
Quando crei una sessione JavaMail, se non fornisci alcun server SMTP , App Engine utilizza il servizio Mail per inviare messaggi. In alternativa, aggiungi la configurazione SMTP per la posta di terze parti supportata come Mailgun, Mailjet oppure SendGrid.
Per inviare un messaggio:
Crea un messaggio utilizzando un oggetto JavaMail
Session
.Crea un oggetto
MimeMessage
.Per impostare il mittente e il destinatario del messaggio, utilizza la classe
InternetAddress
.Identifica il mittente chiamando il metodo
setFrom()
sulla OggettoMimeMessage
. Se vuoi, puoi fornire un nome personale come stringa nel secondo parametro.Identifica il destinatario passando un tipo di destinatario e un indirizzo al metodo
addRecipient()
. Il tipo di destinatario può essereMessage.RecipientType.TO
,Message.RecipientType.CC
oMessage.RecipientType.BCC
.
Il costruttore
InternetAddress
genera unAddressException
se l'email l'indirizzo non sembra essere valido.Per impostare una "risposta a" utilizza il metodo
setReplyTo()
.Stabilisci i contenuti del messaggio chiamando metodi sulla
MimeMessage
oggetto. Imposta l'oggetto consetSubject()
e imposta il corpo del testo in chiaro consetText()
.Per inviare il messaggio, utilizza il metodo statico
send()
della classeTransport
.
Il servizio di posta consente di specificare un insieme limitato di intestazioni per i messaggi in uscita e-mail. Per ulteriori informazioni, consulta la sezione Intestazioni facoltative che puoi utilizzare.
Il seguente esempio di codice mostra come inviare email:
Le chiamate al servizio di posta sono asincrone e vengono restituite immediatamente. Il servizio Mail gestisce la procedura di contatto dei server di posta dei destinatari e la consegna del messaggio. Se si verifica un problema di invio del messaggio a qualsiasi destinatario o se il server di posta di un destinatario restituisce un "rimbalzo" l'errore messaggio viene inviato al mittente.
Invio di messaggi suddivisi in più parti
Puoi inviare messaggi in più parti, ad esempio un messaggio con file allegati o un con il corpo del messaggio in testo non crittografato e il corpo del messaggio HTML.
Per inviare un messaggio in più parti:
Crea un oggetto
MimeMultipart
per contenere le parti, poi crea un oggettoMimeBodyPart
per ogni allegato o corpo del messaggio alternativo e aggiungilo al contenitore.Assegna il contenitore ai contenuti per
MimeMessage
.
Il seguente esempio di codice mostra come inviare un messaggio suddiviso in più parti:
Per motivi di sicurezza, le parti e gli allegati dei messaggi devono essere di uno dei seguenti tipi consentiti e i nomi file degli allegati devono terminare con un nome file riconosciuto un'estensione specifica per il tipo. Per un elenco dei tipi e delle estensioni di nomi file consentiti, consulta Posta con allegati.