logo

Tutorial JavaMail

  1. API de correio Java
  2. Protocolos usados ​​na API JavaMail
  3. SMTP
  4. POP
  5. IMAP
  6. MIME
  7. NNTP e outros
  1. Arquitetura de correio Java
  2. Classes principais da API Java Mail

O JavaMail é uma API usada para redigir, escrever e ler mensagens eletrônicas (e-mails).

A API JavaMail fornece uma estrutura independente de protocolo e de plataforma para envio e recebimento de e-mails.

centralizando uma imagem em css

O javax.mail e javax.mail.ativação packages contém as classes principais da API JavaMail.

O recurso JavaMail pode ser aplicado a muitos eventos. Pode ser utilizado no momento do cadastro do usuário (envio de notificação como agradecimento pelo interesse no meu site), esquecimento da senha (envio da senha para o email do usuário), envio de notificações de atualizações importantes etc. da API de correio java.



Você sabe ?
  • Como enviar e receber e-mail usando JavaMail API?
  • Como enviar e-mail pelo servidor Gmail?
  • Como enviar e receber e-mail com anexo?
  • Como enviar e-mail com conteúdo HTML incluindo imagens?
  • Como encaminhar e excluir o e-mail?

Protocolos usados ​​na API JavaMail

Existem alguns protocolos que são usados ​​na API JavaMail.
  • SMTP
  • POP
  • IMAP
  • MIME
  • NNTP e outros

SMTP

SMTP é um acrônimo para Simple Mail Transfer Protocol. Ele fornece um mecanismo para entregar o e-mail. Podemos usar o servidor Apache James, servidor Postcast, servidor cmail etc. como um servidor SMTP. Mas se comprarmos o espaço de host, um servidor SMTP será fornecido por padrão pelo provedor de host. Por exemplo, meu servidor SMTP é mail.javatpoint.com. Se usarmos o servidor SMTP fornecido pelo provedor host, será necessária autenticação para enviar e receber e-mails.

POP

POP é um acrônimo para Post Office Protocol, também conhecido como POP3. Ele fornece um mecanismo para receber o e-mail. Ele fornece suporte para uma única caixa de correio para cada usuário. Podemos usar o servidor Apache James, servidor cmail etc. como um servidor POP. Mas se comprarmos o espaço de host, um servidor POP será fornecido por padrão pelo provedor de host. Por exemplo, o servidor pop fornecido pelo provedor de hospedagem do meu site é mail.javatpoint.com. Este protocolo é definido na RFC 1939.

IMAP

IMAP é um acrônimo para Internet Message Access Protocol. IMAP é um protocolo avançado para recebimento de mensagens. Ele fornece suporte para várias caixas de correio para cada usuário, além de que a caixa de correio pode ser compartilhada por vários usuários. É definido na RFC 2060.

formulário completo iskcon

MIME

Multiple Internet Mail Extension (MIME) informa ao navegador o que está sendo enviado, por exemplo. anexo, formato das mensagens, etc. Não é conhecido como protocolo de transferência de correio, mas é usado pelo seu programa de correio.

NNTP e outros

Existem muitos protocolos fornecidos por fornecedores terceirizados. Alguns deles são Network News Transfer Protocol (NNTP), Secure Multipurpose Internet Mail Extensions (S/MIME) etc.


Arquitetura JavaMail

O aplicativo Java usa API JavaMail para redigir, enviar e receber emails. A API JavaMail usa SPI (Service Provider Interfaces) que fornece os serviços intermediários para o aplicativo java para lidar com os diferentes protocolos. Vamos entender isso com a figura abaixo:

Arquitetura da API JavaMail

Classes principais da API JavaMail

Existem dois pacotes usados ​​​​na API Java Mail: pacote javax.mail e javax.mail.internet. Esses pacotes contêm muitas classes para Java Mail API. Eles são:

  • Classe javax.mail.Session
  • classe javax.mail.Message
  • classe javax.mail.internet.MimeMessage
  • classe javax.mail.Address
  • classe javax.mail.internet.InternetAddress
  • Classe javax.mail.Authenticator
  • Classe javax.mail.PasswordAuthentication
  • classe javax.mail.Transport
  • classe javax.mail.Store
  • classe javax.mail.Folder etc.

Saberemos sobre essas classes uma por uma quando elas forem usadas.