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 ?
|
Protocolos usados na API JavaMail
Existem alguns protocolos que são usados na API JavaMail.
|
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:
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.