A API de serviço de e-mail para Java é compatível com
a interface JavaMail (javax.mail
) para
o envio de mensagens de e-mail.
Antes de começar
Registre os e-mails dos remetentes como remetentes autorizados. Para mais informações, veja quem pode enviar e-mails.
Como enviar mensagens de e-mail
Para enviar mensagens de e-mail, use as classes JavaMail incluídas no SDK do App Engine.
Ao criar uma sessão JavaMail, se você não fornecer uma configuração de servidor SMTP, o App Engine usará o serviço de e-mail para enviar mensagens. Se preferir, adicione a configuração SMTP para provedores de e-mail terceirizados compatíveis, como Mailgun, Mailjet ou SendGrid.
Para enviar uma mensagem, siga estas etapas:
Crie uma mensagem usando um objeto
Session
JavaMail.Criar um objeto
MimeMessage
.Para configurar o remetente e o destinatário da mensagem, use a classe
InternetAddress
.Identifique o remetente chamando o método
setFrom()
no objetoMimeMessage
. Também é possível fornecer um nome pessoal como uma string no segundo parâmetro.Identifique o destinatário passando um tipo de destinatário e um endereço para o método
addRecipient()
. O tipo de destinatário pode serMessage.RecipientType.TO
,Message.RecipientType.CC
ouMessage.RecipientType.BCC
.
O construtor
InternetAddress
gera umAddressException
se o endereço de e-mail parece ser inválido.Para definir um endereço para resposta, use o método
setReplyTo()
.Estabeleça o conteúdo da mensagem chamando métodos no objeto
MimeMessage
. Defina o assunto comsetSubject()
e defina o conteúdo do corpo de texto simples comsetText()
.Para enviar a mensagem, use o método estático
send()
na classeTransport
.
A API de serviço de e-mail permite especificar um conjunto limitado de cabeçalhos em mensagens de e-mail de saída. Para mais informações, consulte Cabeçalhos opcionais que podem ser usados.
O código de amostra a seguir demonstra como enviar e-mails:
As chamadas para o serviço de e-mail são assíncronas e retornam imediatamente. O serviço de e-mail gerencia o processo de contato dos servidores de e-mail dos destinatários e de entrega da mensagem. Se houver um problema ao enviar a mensagem para qualquer destinatário ou se o servidor de e-mail de um destinatário retornar uma mensagem de erro na entrega, a mensagem de erro será enviada para o remetente.
Como enviar mensagens de várias partes
É possível enviar mensagens de várias partes, como uma mensagem com anexos ou com um corpo de texto simples e um corpo HTML.
Para enviar uma mensagem de várias partes:
Crie um objeto
MimeMultipart
para conter as partes, crie um objetoMimeBodyPart
para cada anexo ou corpo de mensagem alternativo e adicione-o ao contêiner.Atribua o contêiner ao conteúdo de
MimeMessage
.
O código de amostra a seguir demonstra como enviar uma mensagem de várias partes:
Por motivos de segurança, as partes e os anexos da mensagem precisam ser de um dos diversos tipos permitidos, e os nomes de arquivo do anexo precisam terminar com uma extensão de nome de arquivo reconhecida para o tipo. Para uma lista de tipos e extensões de nome de arquivo permitidos, consulte E-mail com anexos.