O Google Code é oferecido em: English - Español - 日本語 - 한국어 - Português - Pусский - 中文(简体) - 中文(繁體)
Os aplicativos do Google App Engine podem enviar mensagens de e-mail em nome dos administradores do aplicativo e em nome de usuários com Contas do Google. O Google Apps usa o serviço de mensagens para enviar mensagens de e-mail.
A API do serviço de mensagens em Java suporta a interface JavaMail (javax.mail) para o envio de mensagens de e-mail.
Ao criar uma sessão JavaMail, não é necessário fornecer as configurações do servidor SMTP. O Google App Engine sempre usará o serviço de mensagens para enviar mensagens.
import java.util.Properties;
import javax.mail.AddressException;
import javax.mail.InternetAddress;
import javax.mail.MessagingException;
import javax.mail.MimeMessage;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
// ...
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
String msgBody = "...";
try {
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress("admin@example.com"));
msg.addRecipient(Message.RecipientType.TO,
new InternetAddress("user@example.com", "Mr. User"));
msg.setSubject("Your Example.com account has been activated");
msg.setText(msgBody);
Transport.send(msg);
} catch (AddressException e) {
// ...
} catch (MessagingException e) {
// ...
}
O serviço de mensagens pode enviar mensagens de e-mail a um ou mais destinatários. A mensagem contém um assunto, um corpo de texto sem formatação e um corpo em HTML opcional. Também pode conter anexos de arquivos.
Por motivos de segurança, o endereço do remetente de uma mensagem deve ser o endereço de e-mail de um administrador do aplicativo ou o endereço de e-mail da Conta do Google do usuário atual conectado. O endereço de e-mail pode incluir um endereço "responder para", que também deve obedecer a essas restrições.
Se você quiser enviar um e-mail em nome do aplicativo, mas não quiser usar uma Conta do Google pessoal de um administrador como o remetente, poderá criar uma nova Conta do Google para o aplicativo usando qualquer endereço de e-mail válido e adicionar a nova conta como um administrador do aplicativo. Para adicionar uma conta como um administrador, consulte a seção "Desenvolvedores" do Console de administração.
Você pode usar qualquer endereço de e-mail para o destinatário. Um destinatário pode estar no campo "para" ou no campo "cc" da mensagem ou pode ficar oculto no cabeçalho da mensagem (uma "cópia de carbono oculta" ou "cco").
Uma mensagem de e-mail pode ser enviada sem nenhum anexo ou com arquivos anexados.
Um anexo tem um nome de arquivo e dados do arquivo. Os dados do arquivo podem ser provenientes de qualquer fonte, como um arquivo de dados do aplicativo ou o armazenamento de dados. O tipo MIME do anexo é determinado pelo nome do arquivo.
Por motivo de segurança, um arquivo anexado a uma mensagem de e-mail deve ser de um dos tipos permitidos e seu nome de arquivo deve terminar com uma extensão que corresponda a esse tipo.
Veja abaixo uma lista de tipos MIME e as extensões de nome de arquivo correspondentes permitidos para arquivos anexos a uma mensagem de e-mail.
| Tipo MIME | Extensões de nome de arquivo | |
|---|---|---|
| image/x-ms-bmp | bmp | |
| text/css | css | |
| text/comma-separated-values | csv | |
| image/gif | gif | |
| text/html | htm html | |
| image/jpeg | jpeg jpg jpe | |
| application/pdf | ||
| image/png | png | |
| application/rss+xml | rss | |
| text/plain | text txt asc diff pot | |
| image/tiff | tiff tif | |
| image/vnd.wap.wbmp | wbmp | |
| text/calendar | ics | |
| text/x-vcard | vcf |
Quando um aplicativo chama o serviço de mensagens para enviar uma mensagem, esta é colocada em uma fila e a chamada retorna imediatamente. O serviço de mensagens usa procedimentos padrão para entrar em contato com cada servidor de e-mail do destinatário, entregando a mensagem e repetindo a tentativa caso não seja possível entrar em contato com o servidor.
Se o serviço de mensagens não puder entregar uma mensagem ou se o servidor de e-mail de um destinatário retornar uma mensagem devolvida (se não houver uma conta para esse endereço nesse sistema), a mensagem de erro será enviada por e-mail para o endereço do remetente da mensagem. O próprio aplicativo não recebe uma notificação sobre o êxito ou falha na entrega.
Quando um aplicativo que está sendo executado no servidor de desenvolvimento chama o serviço de mensagens para enviar uma mensagem, a mensagem é impressa no registro. O servidor de desenvolvimento em Java não envia a mensagem de e-mail.
Cada solicitação do serviço de mensagens é computada para a cota de Chamadas da APi de mensagens.
O endereço de e-mail de cada destinatário de uma mensagem de e-mail é computado para a cota Destinatários de e-mail (ajustável). Cada destinatário que seja um administrador do aplicativo também é computado para a cota E-mail para administradores.
Os dados enviados no corpo de uma mensagem de e-mail são computados para as seguintes cotas:
Cada anexo incluído em uma mensagem de e-mail é computado para a cota Anexos enviados.
Os dados enviados como um anexo de uma mensagem de e-mail são computados para as seguintes cotas:
Para obter mais informações sobre cotas, consulte Quotas (Cotas) e a seção "Quota Details" (Quota Details) do Console de administração.
Além das cotas, os seguintes limites são aplicados ao uso do serviço de mensagens:
| Limite | Quantidade |
|---|---|
| tamanho máximo da mensagem, incluindo anexos | 1 megabyte |
| tamanho máximo da mensagem quando um administrador é um destinatário | 16 quilobytes |