Fórum envio dados de um relatório por email. #578048
16/03/2017
0
Bom dia, queria ver se você pode me ajudar por favor. Eu tenho um projeto, onde envio dados de um relatorio por email. Consigo enviar os campos e formá-los como html, só que envio também dados de uma outra também, então criei um array. Os dados são enviados normal, tipo, dados referentes ao relatorio 9 por exemplo, o problema que não consigo formatar. Esses dados são seriais, ou chaves, mas eles ficam todos em uma linha e também com um sinal de = que não sei da onde vem. O meu código está abaixo e como é mostrado no email.
package br.com.genesisws.mail;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.internet.MimeMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import br.com.genesisws.domain.Relatorio;
import br.com.genesisws.domain.Serial;
@Component
public class Mailer {
private static Logger logger = LoggerFactory.getLogger(Mailer.class);
@Autowired
private JavaMailSender mailSender;
@Async
public Relatorio enviar(Relatorio relatorio) {
try {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
Map<Object, String> relatorios = new HashMap<>();
for (Serial item : relatorio.getSeriais()) {
String serial = item.getSerialCodificado();
relatorios.put(serial,"serial");
System.out.println(serial);
}
helper.setFrom("remetente@hotmail.com");
helper.setTo("destinario@gmail.com");
helper.setSubject("Relatório nº " + relatorio.getCodigo() + " enviado!");
helper.setText("<h3>" + "Nome da Unidade: " + relatorio.getNomeUnidade() + "
</br>" +
"Nome do Curso: " + relatorio.getNomeCurso() + "
</br>" +
"Seriais: " +"
" + relatorios + "</br>" + "</h3>", true);
mailSender.send(mimeMessage);
} catch (MessagingException e) {
logger.error("Erro enviando e-mail", e);
}
return relatorio;
}
}
o corpo do email fica assim:
Nome da Unidade: Belo Horizonte - Barreiro
Nome do Curso: Internet 9
Seriais:
{288209.010200.070014.336503.422066=serial, 139870.703070.387616.820090.770109=serial, 470703.070392.412620.090770.104330=serial}
Essa dúvida foi gerada a partir de um comentário no artigo Enviando email com JavaMail utilizando Gmail
package br.com.genesisws.mail;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.internet.MimeMessage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import br.com.genesisws.domain.Relatorio;
import br.com.genesisws.domain.Serial;
@Component
public class Mailer {
private static Logger logger = LoggerFactory.getLogger(Mailer.class);
@Autowired
private JavaMailSender mailSender;
@Async
public Relatorio enviar(Relatorio relatorio) {
try {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
Map<Object, String> relatorios = new HashMap<>();
for (Serial item : relatorio.getSeriais()) {
String serial = item.getSerialCodificado();
relatorios.put(serial,"serial");
System.out.println(serial);
}
helper.setFrom("remetente@hotmail.com");
helper.setTo("destinario@gmail.com");
helper.setSubject("Relatório nº " + relatorio.getCodigo() + " enviado!");
helper.setText("<h3>" + "Nome da Unidade: " + relatorio.getNomeUnidade() + "
</br>" +
"Nome do Curso: " + relatorio.getNomeCurso() + "
</br>" +
"Seriais: " +"
" + relatorios + "</br>" + "</h3>", true);
mailSender.send(mimeMessage);
} catch (MessagingException e) {
logger.error("Erro enviando e-mail", e);
}
return relatorio;
}
}
o corpo do email fica assim:
Nome da Unidade: Belo Horizonte - Barreiro
Nome do Curso: Internet 9
Seriais:
{288209.010200.070014.336503.422066=serial, 139870.703070.387616.820090.770109=serial, 470703.070392.412620.090770.104330=serial}
Essa dúvida foi gerada a partir de um comentário no artigo Enviando email com JavaMail utilizando Gmail
Fernando Cordeiro
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)