Jakarta Commons Email em HTML com Attachment

2 respostas
thiagonego

Senhores,
Este é o meu primeiro post.
Em minha aplicação utilizo o envio de email com a biblioteca da Jackarta Apache ( Commons Emails).
Nela consigo enviar emails com anexo normalmente.

A pergunta é como faço pra enviar email com anexos e sendo ele, o email, em HTML?
Preciso configurar todo o email…

Agradeço muito…

Fico no aguardo…
Estou colocando aqui o código que utilizo pra enviar email…

public static final boolean enviaEmail(EmailTO email) {

		try {
			// Iterador para coleção de destinatario.
			Iterator itDestinatarios = null;
			itDestinatarios = email.getColecaoDestinatarios().iterator();

			/* Iniciando MultiPartEmail e carregando propriedades do email */
			MultiPartEmail multiPartEmail = new MultiPartEmail();
			Map properties = MailManager.getInstance().getProperties();

			String login = (String) properties.get(MailManager.PROP_LOGIN);
			String fromMail = (String) properties.get(MailManager.PROP_FROM_MAIL);
			String host = (String) properties.get(MailManager.PROP_HOST);
			String password = (String) properties.get(MailManager.PROP_PASSWORD);

			/* Montando o email */
			multiPartEmail.setHostName(host);
			multiPartEmail.setFrom(fromMail);
			multiPartEmail.setSubject(email.getAssuntoMensagem());
			multiPartEmail.setMsg(email.getCorpoMensagem());
			multiPartEmail.setAuthentication(login, password);
			// Add os destinatarios do email.
			while (itDestinatarios.hasNext()) {
				DestinatarioTO destinatario = (DestinatarioTO) itDestinatarios.next();
				multiPartEmail.addTo(destinatario.getChavePrimaria().getEmailDestinatario());
			}

			if (email.getColecaoAnexo() != null && email.getColecaoAnexo().size() > 0) {

				Iterator itAnexos = email.getColecaoAnexo().iterator();
				while (itAnexos.hasNext()) {
					AnexoTO anexo = (AnexoTO) itAnexos.next();
					
					// Create the attachment
					EmailAttachment attachment = new EmailAttachment();
					attachment.setPath(ConfigServlet.getInstance().getProperty("uploadDir") + File.separator
							+ Constantes.REL_PRE_SELECAO + anexo.getArquivoAnexo());
					attachment.setDisposition(EmailAttachment.ATTACHMENT);
					attachment.setName(anexo.getArquivoAnexo());

					// add o anexo
					multiPartEmail.attach(attachment);

				}
			}

			/* Enviando email */
			multiPartEmail.send();
			return true;
		} catch (EmailException e) {
			e.printStackTrace();
			return false;
		}

	}

2 Respostas

_Renatu

na propria pagina do commons email tem:

http://commons.apache.org/email/userguide.html

“Sending HTML formatted email”

thiagonego

Cara,
Olha eu sei que tem como enviar email em HTML.
Ja fiz um teste e funcionou.

So que eu quero saber como enviar um email com ANEXO sendo este email tambem em HTML.
Compreende?

Obrigado!

Criado 10 de julho de 2008
Ultima resposta 10 de jul. de 2008
Respostas 2
Participantes 2