Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

\n nao funciona

Boa tarde, estou com um problema simples mas que nao achei solução ate agora.

tenho uma classe que manda para os clientes um email de aviso de vencimento de do dia seguinte.

mas ao tentar usar o \n ele simplesmente ignora, e acontece em apenas uma linha, e se coloco \n\n ele funciona, tenho tbm em outras linha apenas o \n, mas ele é simplesmente ignorado naquela linha

segue o codigo da classe:

import java.sql.Connection;
import java.sql.Date;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DateFormat;
import java.text.SimpleDateFormat;

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;


public class AvisaVencimento {
    public static void main(String[] args) throws SQLException, EmailException {
        Connection con = Conection.getConection();

         Statement smt = con.createStatement();         

         ResultSet resultSet = smt.executeQuery (" select case when cr.ORG_IN_CODIGO = 2 "
                    + " then 'TONBRAS INDUSTRIA E COMERCIO LTDA' "
                    + " else 'OFFICEBRAS COMERCIO, IMPORTAÇÃO E EXPORTAÇÃO LTDA' "
                    + " end organização,"
                    + " cr.FRE_IN_NUMERO, "
                    + " cr.MOV_ST_PARCELA, " 
                    + " cr.MOV_DT_DATADOCTO, "
                    + " cr.MOV_DT_VENCTO, " 
                    + " agn.agn_st_nome, "
                    + " agn.agn_st_email," 
                    + " cr.SALDO_EM_ABERTO, "
                    + " agn1.agn_st_email as emailrep, "
                    + " cr.CRE_ST_LINHADIG, "
                    + " nf.not_st_chaveacesso "

                     + " from mgfin.fin_vw_contasreceber cr, "
                    + " mgglo.glo_agentes agn, "
                    + " mgven.ven_notafiscal nf, "
                    + " mgglo.glo_agentes agn1 "                    


                    + " where cr.agn_in_codigo = agn.agn_in_codigo "
                    + " and cr.FRE_IN_NUMERO = nf.not_in_numero "
                    + " and nf.agn_in_codigo = agn.agn_in_codigo "
                    + " and nf.rep_in_codigo = agn1.agn_in_codigo "
                    + " and cr.MOV_CH_SITUACAO <> 'C' "
                    + " and nf.cond_st_codigo <> 'PAG-SEGURO' "
                    + " AND cr.MOV_DT_VENCTO = trunc(sysdate) + 1  "
                    + " AND cr.AGN_IN_CODIGO <> all (3,103,5234) "
                    + " and cr.SALDO_EM_ABERTO > 10 "
                    + " and nf.agn_in_codigo = 8730 ");

         while (resultSet.next()){

             int Nota = resultSet.getInt("FRE_IN_NUMERO");
             System.out.println("Nota fiscal: " + Nota);

             String Empresa = resultSet.getString("organização");
             System.out.println(Empresa);

             String RazaoSocial = resultSet.getString("agn_st_nome");
             System.out.println(RazaoSocial);

             Date DataVencimento = resultSet.getDate("MOV_DT_VENCTO");
             System.out.println(DateFormat.getDateInstance().format(DataVencimento));

             String parcela = resultSet.getString("MOV_ST_PARCELA");
             System.out.println(parcela);

             String CodigoBarras = resultSet.getString("CRE_ST_LINHADIG");
             System.out.println("Codigo de barras: " + CodigoBarras);

             double valor = resultSet.getDouble("SALDO_EM_ABERTO");
             System.out.println(valor);

             String ChaveDeAcesso = resultSet.getString("not_st_chaveacesso");
             System.out.println(ChaveDeAcesso);

             String email = resultSet.getString("agn_st_email");
             System.out.println(email);

             String Emailrep = resultSet.getString("emailrep");
             System.out.println(Emailrep);

             SimpleEmail Email = new SimpleEmail();
                 Email.setHostName("smtp.gmail.com");
                Email.setFrom("tamires@radex.com.br");
                Email.setAuthentication("tamires@radex.com.br", "radex2016");
                Email.addTo("gabriel@radex.com.br");
                Email.addCc("gabriel@radex.com.br","gabriel@radex.com.br");
                Email.addCc("gabriel@radex.com.br");
                Email.addBcc("gabriel@radex.com.br");
                Email.setSubject("Aviso de vencimento");
                Email.setSmtpPort(587);
                Email.setStartTLSEnabled(true);
                Email.setMsg("Prezados(as) Senhores(as),\n\n" + "Gostaríamos de lembrar que o boleto da NF-e nº " + Nota + " vencerá no próximo dia útil.\n\n"
                + "Algumas informações sobre o boleto: \n\n"
                + "Emitido por: " + Empresa  + "\n"
                + "Emitido para: " + RazaoSocial + "\n"
                + "Vencimento: " + SimpleDateFormat.getDateInstance().format(DataVencimento) + "\n"
                + "Número do Boleto: " + Nota+" - "+parcela + "\n"
                + "Código de Barras: " + CodigoBarras + "\n"
                + "Valor: " + valor + "\n\n"
                + "Como consultar a Nota Fiscal Eletrônica desse boleto:? \n" 
                + "Chave de Acesso da NF-e: \n"
                + ChaveDeAcesso + "\n\n"
                + "Acesse o Portal em https://www.webdanfe.com.br/danfe/index.html\n"
                + "Agradecemos desde já e nos colocamos a disposição para maiores esclarecimentos.\n"
                + "Em casos de dúvidas favor contatar: Luiz ou Tamires\n"
                + "Telefone: (11) 3855-2555\n"
                + "E-mail: financeiro@radex.com.br\n"
                + "Empresa: " + Empresa);
                Email.send();
         }
            con.close();
            smt.close();
            resultSet.close();         
     }

}

a linha em questão é essa aqui:

+ "Emitido por: " + Empresa + "\n"

a variavel RazaoSocial fica grudada na linha de cima.

valeu obrigado.

2 respostas
solução

Não sei pq esse \n não está resultando no texto que vc queria. De todo jeito, sugiro mandar email com corpo em html e parar de se preocupar com isso :). => https://commons.apache.org/proper/commons-email/userguide.html

Obrigado alberto