Você está aqui: JSP (Java Server Pages) ::: Dicas de Estudo e Anotações ::: JSP + JavaMail

Como enviar mais de um anexo em um e-mail usando JavaMail

Quantidade de visualizações: 8979 vezes
EXEMPLO COMPLETO DE ENVIO DE E-MAIL COM ANEXOS USANDO JSP + JAVAMAIL

O exemplo abaixo mostra como enviar e-mails com anexo usando JSP e JavaMail. Este exemplo foi testado e funcionou 100% em um site hospedado na Locaweb [www.locaweb.com.br].
<%@ page import="java.util.*, javax.activation.*, javax.mail.*, javax.mail.internet.*" %>
<html>
<head><title>Usando JSP com JavaMail</title></head>
<body>

<%
  Properties props = new Properties();
  props.put("mail.smtp.host", "smtp.locaweb.com.br");
  Session s = Session.getInstance(props,null);

  MimeMessage message = new MimeMessage(s);
  InternetAddress from = 
     new InternetAddress("webmaster@teste.com.br");
  message.setFrom(from);
  InternetAddress to = 
     new InternetAddress("webmaster@recomende.com");
  message.addRecipient(Message.RecipientType.TO, to);
  message.setSubject("Envio de anexos usando o JavaMail.");
  
  // cria a primeira parte da mensagem
  MimeBodyPart mbp1 = new MimeBodyPart();
  mbp1.setText("Esta mensagem contém um anexo");

  // cria a segunda parte da mensagem
  MimeBodyPart mbp2 = new MimeBodyPart();

  // cria a terceira parte da mensagem
  MimeBodyPart mbp3 = new MimeBodyPart();

  // anexa o primeiro arquivo à mensagem
  FileDataSource fds = 
     new FileDataSource(getServletContext().getRealPath("/") + "teste.jsp");
  mbp2.setDataHandler(new DataHandler(fds));
  mbp2.setFileName(fds.getName());
  
  // anexa o segundo arquivo à mensagem
  FileDataSource fds2 = 
    new FileDataSource(getServletContext().getRealPath("/") + "teste2.jsp");
  mbp3.setDataHandler(new DataHandler(fds2));
  mbp3.setFileName(fds2.getName());

  // Cria o Multipart a adiciona as três partes a ele
  Multipart mp = new MimeMultipart();
  mp.addBodyPart(mbp1);
  mp.addBodyPart(mbp2);
  mp.addBodyPart(mbp3);

  message.setContent(mp);

  Transport.send(message);
%>

<p align="center">E-Mail enviado com sucesso!</p>

</body>
</html>


Link para compartilhar na Internet ou com seus amigos:

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Instalações prediais de combate a incêndio

O fogo pode ser classificado em classes em função do tipo de material sujeito a combustão, tal que, para cada classe de fogo, existe uma categoria de extintor adequada para dissipar focos de incêndio.

Sobre as categorias de extintores, são feitas as afirmações a seguir. Analise-as e assinale V para verdadeiro e F para falso:

( ) O extintor de água pressurizada é recomendado para extinguir o fogo por resfriamento de materiais de fácil combustão, como tecidos, madeira, papel e fibras.

( ) O extintor de espuma extingue o fogo por abafamento de equipamentos elétricos, como fios, quadro de distribuição, motores e transformadores.

( ) O extintor de pó químico emprega o abafamento para extinção do fogo, sendo recomendado para equipamentos elétricos energizados e pirofóricos.

Assinale a alternativa que apresenta a sequência correta:

A) V - F - F.

B) V - F - V.

C) F - V - V.

D) F - V - F.

E) V - V - F.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em

Vigas a flexão simples: seções retangulares

O objetivo do dimensionamento de estruturas de concreto é obter segurança e economia. Muitas vezes, o projeto arquitetônico não possibilita vigas muito altas para grandes vãos. Uma solução adotada para esse tipo de situação, quando o concreto da seção da viga mais solicitada pode não resistir ao esforço de compressão, é adotar armadura dupla.

Considere que uma viga V (20x30) tem uma solicitação de momento fletor de 65,20kN.m. O concreto utilizado nessa viga tem resistência de 30MPa e a agressividade ambiental do local é classe II (considere que é uma viga pouco solicitada).

Das alternativas a seguir, assinale aquela que apresenta a área de aço da armadura comprimida dessa viga.

A) 1,48cm2.

B) 1,94cm2.

C) 5,48cm2.

D) 7,83cm2.

E) 9,77cm2.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais

Água Fria: Reservatórios

Um reservatório é dimensionado com diversos componentes que auxiliam na manutenção e limpeza do mesmo. Sobre os componentes acessórios de um reservatório é correto afirmar:

A) A tubulação extravasora deve ter o mesmo diâmetro da tubulação de alimentação do reservatório.

B) A tubulação de limpeza deve estar posicionada acima da saída da distribuição predial.

C) Em pequenas edificações, com reservatórios de 500 litros, não é necessária a instalação de tubulação de limpeza.

D) A tubulação extravasora deve jogar a água em local visível para alertar sobre o extravasamento do reservatório.

E) É obrigatória a instalação de registro na saída da tubulação extravasora.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Questões de Concurso Engenharia Civil - Fundações

COPEL - No estudo do subsolo para projeto de fundações, o número de golpes dados com um peso padrão, caindo em queda livre, de uma altura constante, necessários para a penetração de um amostrador padrão à profundidade de 30cm é denominado:

A) Índice coesivo.

B) Índice SPT.

C) Carga morta.

D) Índice de resistência à penetração.

E) Carga aparente.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Qual é a forma correta de adicionar comentários de uma linha em JavaScript?

A) <!-- Este é um comentário -->

B) // Este é um comentário

C) ' Este é um comentário

D) # Este é um comentário
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de JSP (Java Server Pages)

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 45 usuários muito felizes estudando em nosso site.