O melhor tutorial e-mail servlet Enviar e-mail em 2024. Neste tutorial você pode aprender Enviar um simples e-mail,Enviar um e-mail HTML,Enviar anexos em e-mail,seção de autenticação do usuário,
Enviar um e-mail usando o Servlet é muito simples, mas primeiro você deve instalarJavaMail API e do Quadro de ativação Java)em seu computadorJAF).
Você também pode usar o site para fornecer link para download:
Baixe e descompacte os arquivos no diretório de nível superior recém-criado, você vai encontrar algum arquivo jar duas aplicações. Você precisa adicionar arquivosmail.jar e activation.jarno seu CLASSPATH.
Os exemplos a seguir enviar um simples e-mail do seu computador. Isto assume que o seuhost local está conectado ao suporte Internet e e-mail.Assegurando ao mesmo tempo que os pacotes de e-mail da API Java e pacote de JAF todos os arquivos jar no classpath estão disponíveis.
// Nome SendEmail.java import java.io. *; import java.util * .; importação javax.servlet * .; importação javax.servlet.http * .; importação javax.mail * .; importação javax.mail.internet * .; importação javax.activation * .; classe pública SendEmail estende HttpServlet { doGet public void (HttpServletRequest pedido, HttpServletResponse resposta) lança ServletException, IOException { // ID e-mail do destinatário String para = "abcd@gmail.com"; // Do remetente ID e-mail String a partir = "web@gmail.com"; // Vamos dizer que você enviar acolhimento de e-mail String = "localhost" a partir do host local; // Obter as propriedades do sistema Propriedades = System.getProperties (); // Configurar uma properties.setProperty servidor de correio ( "mail.smtp.host", host); // Obter a sessão padrão Session objeto Session = Session.getDefaultInstance (propriedades); // Defina o tipo de conteúdo de resposta response.setContentType ( "text / html; charset = UTF-8"); PrintWriter out = response.getWriter (); try { // Criar um padrão MimeMessage objetos MimeMessage mensagem = new MimeMessage (sessão); // Definir o de: campo de cabeçalho do cabeçalho. message.setFrom (nova InternetAddress (de)); // Set To: campo de cabeçalho do cabeçalho. message.addRecipient (Message.RecipientType.TO, nova InternetAddress (a)); // Definir o assunto: campo de cabeçalho message.setSubject ( "Esta é a linha de assunto!"); // Agora definir a mensagem real message.setText ( "Esta é a mensagem real"); // Enviar a mensagem Transport.send (mensagem); título String = "email"; res String = "mensagens enviadas com sucesso pt."; Cordas docType = "\ n <DOCTYPE html!>"; out.println (docType + "<Html> \ n" + "<Head> <title>" + título + "</ title> </ head> \ n" + "<Body bgcolor = \" # f0f0f0 \ "> \ n" + "<H1 align = \" Centro \ ">" + título + "</ h1> \ n" + "<P align = \" Centro \ ">" + res + "</ p> \ n" + "</ Body> </ html>"); } Catch (MessagingException mex) { mex.printStackTrace (); } } }
Agora vamos compilar o Servlet acima, e crie a seguinte entrada no arquivo web.xml:
ptpt <Servlet> <Servlet-name> SendEmail </ servlet-name> <Servlet-class> SendEmail </ servlet-class> </ Servlet> <Servlet-mapping> <Servlet-name> SendEmail </ servlet-name> <Url-pattern> / SendEmail </ url-pattern> </ Servlet-mapping> ptpt
Agora, visitando a URL http: // localhost: 8080 / SendEmail chamar este Servlet. Isto irá enviar um e-mail para oIDde e-mail abcd@gmail.com, e aparecerá como mostra a seguinte resposta:
Enviar e-mailenviada com sucesso uma mensagem pt. |
Se você quiser enviar um e-mail para vários destinatários, utilize os seguintes métodos para especificar múltiplos ID e-mail:
addRecipients vazios (tipo Message.RecipientType, Address [] endereços) lança MessagingException
O seguinte é uma descrição dos parâmetros:
O exemplo a seguir irá enviar um e-mail em formato HTML no seu computador. Isto assume que o seuhost local está conectado ao suporte Internet e e-mail.Assegurando ao mesmo tempo que os pacotes de e-mail da API Java e pacote de JAF todos os arquivos jar no classpath estão disponíveis.
Este exemplo é muito semelhante aos exemplos anteriores, mas aqui vamos usar o método () setContent para definir o segundo parâmetro é o conteúdo "text / html", este parâmetro é usado para especificar o conteúdo HTML contido na mensagem.
Usando esse exemplo, você pode enviar o conteúdo não se limita ao tamanho do conteúdo HTML.
// Nome SendEmail.java import java.io. *; import java.util * .; importação javax.servlet * .; importação javax.servlet.http * .; importação javax.mail * .; importação javax.mail.internet * .; importação javax.activation * .; classe pública SendEmail estende HttpServlet { doGet public void (HttpServletRequest pedido, HttpServletResponse resposta) lança ServletException, IOException { // ID e-mail do destinatário String para = "abcd@gmail.com"; // Do remetente ID e-mail String a partir = "web@gmail.com"; // Vamos dizer que você enviar acolhimento de e-mail String = "localhost" a partir do host local; // Obter as propriedades do sistema Propriedades = System.getProperties (); // Configurar uma properties.setProperty servidor de correio ( "mail.smtp.host", host); // Obter a sessão padrão Session objeto Session = Session.getDefaultInstance (propriedades); // Defina o tipo de conteúdo de resposta response.setContentType ( "text / html; charset = UTF-8"); PrintWriter out = response.getWriter (); try { // Criar um padrão MimeMessage objetos MimeMessage mensagem = new MimeMessage (sessão); // Definir o de: campo de cabeçalho do cabeçalho. message.setFrom (nova InternetAddress (de)); // Set To: campo de cabeçalho do cabeçalho. message.addRecipient (Message.RecipientType.TO, nova InternetAddress (a)); // Definir o assunto: campo de cabeçalho message.setSubject ( "Esta é a linha de assunto!"); // Definir a mensagem de HTML tamanho do conteúdo message.setContent limitada real ( "<h1> Esta é a mensagem real </ h1>", "Text / html"); // Enviar a mensagem Transport.send (mensagem); título String = "email"; res String = "mensagens enviadas com sucesso pt."; Cordas docType = "\ n <DOCTYPE html!>"; out.println (docType + "<Html> \ n" + "<Head> <title>" + título + "</ title> </ head> \ n" + "<Body bgcolor = \" # f0f0f0 \ "> \ n" + "<H1 align = \" Centro \ ">" + título + "</ h1> \ n" + "<P align = \" Centro \ ">" + res + "</ p> \ n" + "</ Body> </ html>"); } Catch (MessagingException mex) { mex.printStackTrace (); } } }
Compilar e executar o servlet acima, enviar mensagens em HTML em um determinado ID e-mail.
Os exemplos a seguir envie um e-mail com um anexo no seu computador será. Isto assume que o seuhost local está conectado ao suporte Internet e e-mail.Assegurando ao mesmo tempo que os pacotes de e-mail da API Java e pacote de JAF todos os arquivos jar no classpath estão disponíveis.
// Nome SendEmail.java import java.io. *; import java.util * .; importação javax.servlet * .; importação javax.servlet.http * .; importação javax.mail * .; importação javax.mail.internet * .; importação javax.activation * .; classe pública SendEmail estende HttpServlet { doGet public void (HttpServletRequest pedido, HttpServletResponse resposta) lança ServletException, IOException { // ID e-mail do destinatário String para = "abcd@gmail.com"; // Do remetente ID e-mail String a partir = "web@gmail.com"; // Vamos dizer que você enviar acolhimento de e-mail String = "localhost" a partir do host local; // Obter as propriedades do sistema Propriedades = System.getProperties (); // Configurar uma properties.setProperty servidor de correio ( "mail.smtp.host", host); // Obter a sessão padrão Session objeto Session = Session.getDefaultInstance (propriedades); // Defina o tipo de conteúdo de resposta response.setContentType ( "text / html; charset = UTF-8"); PrintWriter out = response.getWriter (); try { // Criar um padrão MimeMessage objetos MimeMessage mensagem = new MimeMessage (sessão); // Definir o de: campo de cabeçalho do cabeçalho. message.setFrom (nova InternetAddress (de)); // Set To: campo de cabeçalho do cabeçalho. message.addRecipient (Message.RecipientType.TO, nova InternetAddress (a)); // Definir o assunto: campo de cabeçalho message.setSubject ( "Esta é a linha de assunto!"); // Cria uma parte da mensagem BodyPart messageBodyPart = new MimeBodyPart (); // Preencha uma mensagem messageBodyPart.setText ( "Este é o corpo da mensagem"); // Cria uma mensagem multi-parte de várias partes Multipart = new MimeMultipart (); // Conjunto de partes de mensagens de texto multipart.addBodyPart (messageBodyPart); // A segunda parte é um acessório messageBodyPart = new MimeBodyPart (); String $ filename = "file.txt"; fonte DataSource = new FileDataSource (filename); messageBodyPart.setDataHandler (nova DataHandler (fonte)); messageBodyPart.setFileName (filename); multipart.addBodyPart (messageBodyPart); // Enviar message.setContent completa mensagem parte (várias vias); // Enviar a mensagem Transport.send (mensagem); título String = "email"; res String = "com êxito enviar e-mail pt."; Cordas docType = "\ n <DOCTYPE html!>"; out.println (docType + "<Html> \ n" + "<Head> <title>" + título + "</ title> </ head> \ n" + "<Body bgcolor = \" # f0f0f0 \ "> \ n" + "<H1 align = \" Centro \ ">" + título + "</ h1> \ n" + "<P align = \" Centro \ ">" + res + "</ p> \ n" + "</ Body> </ html>"); } Catch (MessagingException mex) { mex.printStackTrace (); } } }
Compilar e executar o servlet acima, enviar mensagens com anexos de arquivo em um determinado ID de e-mail.
Se você precisa fornecer o endereço de e-mail ID de usuário e senha do servidor de autenticação, você pode definir as seguintes propriedades:
props.setProperty ( "mail.user", "myuser"); props.setProperty ( "mail.password", "MyPwd");
O resto do mecanismo de entrega de e-mail é consistente com o acima explicar.