problema ao enviar o corpo completo do email por smtp com javamail

problema ao enviar o corpo completo do email por smtp com javamail

quero enviar e-mails para um endereço com um programa java (usando javamail) via smtp. na verdade, ele envia os e-mails para o destino. o problema é que o corpo do e-mail não é enviado totalmente todas as vezes. considerando que o corpo do meu e-mail é extraído de um banco de dados. aqui está meu código:

public static void smail (conexão, estado de string)
        {
            Declaração stmt;

            tentar
            {
                stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

                ResultSet res = stmt.executeQuery("selecione ID, Time_C da produção onde State='"+state+"'");

                enquanto(res.next())
                {                           
                    String id=res.getString("1"), tc=res.getString("2");
                    email de teste smtpMailSend = new email de teste();
                    String sub="Alerta "+estado;
                        String mes=" ID "+id +"\n Stat: "+state +"\n time: "+tc;
                      smtpMailSend.sMail(sub,mes);
                 }
             } catch(Exceção e)
            {
                e.printStackTrace();
                stmt = nulo;
            }
        }
    public void sMail(String obj,String text)lança MessagingException
    {
    Propriedades adereços = new Propriedades();
        props.put("mail.smtp.host", d_host);
        props.put("mail.smtp.port", d_port);
        props.put("mail.smtp.starttls.enable","true");
        props.put("mail.smtp.debug", "true");
        props.put("mail.smtp.auth", "true");
        Autenticador auth = new SMTPAuthenticator();
        Sessão sessão = Session.getInstance(props, auth);
        sessão.setDebug(verdadeiro);
        Mensagem msg = new MimeMessage(sessão);
        msg.setText(texto);
        msg.setSubject(obj);
        msg.setFrom(new InternetAddress(d_email));
        msg.addRecipient(Message.RecipientType.TO, novo InternetAddress(m_to));
        Transporte transporte = session.getTransport("smtps");
        transport.connect(d_host, d_port, d_uname, d_password);
        transport.sendMessage(msg, msg.getAllRecipients());
        transporte.close();
        }           

então, após os 2 primeiros registros, recebi no e-mail "ID: 12345" sem a hora ou o estado.

Obrigado pela ajuda

Responder1

Você pode verificar se o corpo da mensagem está intacto sempre que ela sai do servidor de envio do seu lado? Nesse caso, algo do lado do destinatário pode estar eliminando o conteúdo.

informação relacionada