-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Projeto destinado ao envio de e-mails através do Java com sua biblioteca nativa de interface gráfica de usuário (GUI) e a api JavaMail
Lembre-se de que, para usar esse código, você precisa ter uma conta no Gmail e permitir o acesso de aplicativos menos seguros nas configurações da sua conta
Esse código em Java demonstra como enviar um e-mail utilizando a biblioteca JavaMail. Vou explicar o que cada parte faz:
- SMTP (Simple Mail Transfer Protocol):
- O protocolo utilizado para enviar e-mails.
- Define as regras para a comunicação entre servidores de e-mail.
- SSL (Secure Sockets Layer):
- Um protocolo de segurança que fornece criptografia para comunicações na internet.
- No contexto de e-mail, o SSL é usado para proteger a conexão entre o cliente (seu aplicativo) e o servidor SMTP.
- TLS (Transport Layer Security):
- Uma versão mais recente e segura do SSL.
- O uso de TLS é preferível ao SSL atualmente.
- Autenticação:
- A propriedade mail.smtp.auth indica que a autenticação será usada para se conectar ao servidor SMTP.
- Isso permite que você faça login com suas credenciais (nome de usuário e senha) para enviar e-mails.
- StartTLS:
- A propriedade mail.smtp.starttls.enable habilita o uso do StartTLS.
- O StartTLS inicia uma conexão segura (criptografada) após a conexão inicial com o servidor SMTP.
- Porta do Servidor SMTP:
- A propriedade mail.smtp.port define a porta do servidor SMTP.
- A porta 465 é comumente usada para conexões SMTP seguras.
- SocketFactory:
- A propriedade mail.smtp.socketFactory.port especifica a porta a ser usada para a conexão via socket.
- A propriedade mail.smtp.socketFactory.class define a classe de fábrica de sockets a ser usada para criar a conexão.
Configuração Inicial:
- O método properties() configura as propriedades do servidor SMTP, como host, autenticação e porta.
Criação da Sessão:
- A classe Session é usada para criar uma sessão de e-mail.
- Ela recebe as propriedades configuradas e um objeto Authenticator para autenticação.
Composição do E-mail:
- Cria-se uma instância de MimeMessage para representar o e-mail.
- Define-se o remetente, destinatário e assunto do e-mail.
Corpo da Mensagem:
- Se envioHTML for verdadeiro, o conteúdo do e-mail é definido como HTML usando message.setContent(emailContent, "text/html; charset=utf-8").
- Caso contrário, o conteúdo é definido como texto simples usando message.setText(emailContent).
Envio do E-mail:
- O método Transport.send(message) envia o e-mail.
Utiliza praticamente as mesma propriedades do método de envio de e-mail padrão, com exceção do Anexo
Anexo:
- Usa-se a classe MimeMultipart para agrupar o corpo da mensagem e o anexo.
- Adiciona-se o anexo à parte da mensagem usando multipart.addBodyPart(attachmentPart).
No primeiro Jframe será necessário seu e-mail e senha (para usar esse código, você precisa ter uma conta no Gmail e permitir o acesso de aplicativos menos seguros nas configurações da sua conta, gere uma senha de 16 caracteres para ser usada). Clique em "Log In" para o próximo JFrame ou em "Sair" para fechar a aplicação.
No segundo JFrame você deverá inserir o e-mail do destinatário (se mais de um, separá-los por vírgulas), o remetente, título do e-mail e o corpo da mensagem. Quando marcada, a CheckBox Mensagem Automática irá desativar os campos (Corpo da Mensagem e Anexo), ela irá enviar uma mensagem feita pelo criador do projeto.
Quando clicado, o botão de Procurar irá abrir uma tela do JFileChooser, o usuário poderá escolher apenas um arquivo para ser enviado no e-mail. O caminho do arquivo é mostrado na JTextField ao lado de "Anexo:".
Ao checar todos os campos se as informações estão corretas, o usuário deverá clicar em enviar para que o envio do e-mail seja bem sucessido.