Je veux envoyer des emails à une adresse avec un programme java (en utilisant javamail) via smtp. En fait, il envoie les courriels à la destination. le problème est le corps de l'email n'est pas envoyé complètement chaque fois. Considérant que le corps de mon courrier est extrait d'une base de données. voici mon code:comment envoyer un mail avec des données extraites d'une base de données avec javamail et smtp?
public static void Bmail(Connection conn, String grav, String state)
{
Statement stmt;
try
{
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet res = stmt.executeQuery("select ID, Time_C from production where name='"+grav +"' and State='"+state+"'");
while(res.next())
{
String id=res.getString("1"), tc=res.getString("2");
testmail smtpMailSend = new testmail();
String sub="Alert "+grav+" "+state;
String mes=" ID "+id +"\n Stat: "+state +"\n time: "+tc;
smtpMailSend.sMail(sub,mes);
}
} catch(Exception e)
{
e.printStackTrace();
stmt = null;
}
}
public void sMail(String obj,String text)throws MessagingException
{
Properties props = new Properties();
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");
Authenticator auth = new SMTPAuthenticator();
Session session = Session.getInstance(props, auth);
session.setDebug(true);
Message msg = new MimeMessage(session);
msg.setText(text);
msg.setContent(text,"text/plain");
msg.setSubject(obj);
msg.setFrom(new InternetAddress(d_email));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(m_to));
msg.saveChanges();
Transport transport = session.getTransport("smtps");
transport.connect(d_host, d_port, d_uname, d_password);
transport.sendMessage(msg, msg.getAllRecipients());
transport.close();
}
donc après 2 premier enregistrement, je l'ai dans le courrier « ID: 12345 » sans le temps ou l'état.
bien j'ai essayé setContent mais j'ai toujours le même problème. peut-être le type de contenu est la cause (je mets du texte/plaine)?
Merci pour votre aide
Pourriez-vous donner un exemple de ce à quoi ressemble le corps du message que vous recevez? Est-ce tronqué? Est-ce qu'il manque? – Stroboskop
Oh désolé. Tu l'as fait. – Stroboskop
Première estimation: essayez sans les sauts de ligne. Ensuite, essayez avec des sauts de ligne mais sans les deux-points (':') – Stroboskop