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 JavaMailQuantidade 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 |
PHP - Programação Orientada a Objetos em PHP - Como passar um objeto de uma classe para uma função PHP |
Códigos Fonte |
Software 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 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 |