envio dados de um relatório por email.
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
Curtidas 0