L'API Mail Service per Java supporta l'interfaccia JavaMail (javax.mail
) per l'invio di messaggi email.
Prima di iniziare
Registra le email dei mittenti come mittenti autorizzati. Per ulteriori informazioni, consulta chi può inviare email.
Invio di email
Per inviare messaggi email, utilizza le classi JavaMail incluse nell'SDK di App Engine.
Quando crei una sessione JavaMail, se non fornisci alcuna configurazione del server SMTP, App Engine utilizza il servizio Mail per l'invio dei messaggi. In alternativa, aggiungi la configurazione SMTP per i provider di posta di terze parti supportati, come Mailgun, Mailjet o 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()
sull'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'indirizzo email sembra non essere valido.Per impostare un indirizzo "Rispondi a", utilizza il metodo
setReplyTo()
.Stabilisci i contenuti del messaggio chiamando i metodi sull'oggetto
MimeMessage
. Imposta l'oggetto consetSubject()
e imposta il contenuto del corpo in testo normale consetText()
.Per inviare il messaggio, utilizza il metodo statico
send()
della classeTransport
.
Il servizio Mail ti consente di specificare un insieme limitato di intestazioni per i messaggi email in uscita. Per ulteriori informazioni, consulta la sezione Intestazioni facoltative che puoi utilizzare.
Il seguente esempio di codice mostra come inviare email:
Le chiamate al servizio Mail sono asincrone e restituiscono immediatamente un valore. Il servizio Mail gestisce la procedura di contatto dei server di posta dei destinatari e la consegna del messaggio. Se si verifica un problema durante l'invio del messaggio a un destinatario o se il server di posta di un destinatario restituisce un messaggio di "rifiuto", il messaggio di errore viene inviato al mittente.
Invio di messaggi suddivisi in più parti
Puoi inviare messaggi suddivisi in più parti, ad esempio un messaggio con allegati di file o un messaggio con un corpo del messaggio in testo normale e un corpo del messaggio HTML.
Per inviare un messaggio suddiviso 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 dei messaggi e gli allegati devono essere di uno dei diversi tipi consentiti e i nomi file degli allegati devono terminare con un'estensione di nome file riconosciuta per il tipo. Per un elenco dei tipi e delle estensioni dei nomi di file consentiti, consulta Posta con allegati.