J'utilise la fonctionnalité MailService de Google App Engine dans mon application . Cela fonctionne bien dans une application sans aucun problème. Mais le même code ne fonctionne pas dans une autre application. Je ne suis pas en mesure de comprendre . S'il vous plaît aider. Ce qui suit est le morceau de code que j'utilise pour envoyer un courrier électronique à .Problème étrange avec le courrier Java de Google App Engine
public static void sendHTMLEmail(String from, String fromName, String
to, String toName, String subject, String body) {
_logger.info("entering ...");
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
_logger.info("got mail session ...");
String htmlBody = body;
try {
Message msg = new MimeMessage(session);
_logger.info("created mimemessage ...");
msg.setFrom(new InternetAddress(from,
fromName));
_logger.info("from is set ...");
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(
to, toName));
_logger.info("recipient is set ...");
msg.setSubject(subject);
_logger.info("subject is set ...");
Multipart mp = new MimeMultipart();
MimeBodyPart htmlPart = new MimeBodyPart();
htmlPart.setContent(htmlBody, "text/html");
mp.addBodyPart(htmlPart);
_logger.info("body part added ...");
msg.setContent(mp);
_logger.info("content is set ...");
Transport.send(msg);
_logger.info("email sent successfully.");
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.getMessage());
}
}
Quand je regarde le journal (sur la console d'administration du serveur), il imprime la déclaration « Le contenu est mis ... » et après qu'il n'y a rien dans le journal . Le mail n'est pas envoyé. Parfois, je reçois l'erreur suivante après l'instruction ci-dessus est imprimée (et le courrier n'est pas envoyé).
com.google.appengine.repackaged.com.google.common.base.internal.Finalizer getInheritableThreadLocalsField: Impossible d'accéder Thread.inheritableThreadLocals. Les threads du finaliseur de référence hériteront des valeurs locales de thread.
Mais l'utilisation du quota de courrier ne cesse d'augmenter. Rappelez-vous, cela fonctionne très bien dans une application, mais pas dans d'autres. Je suis en utilisant le même ensemble d'adresses e-mail dans les deux applications (pour et à).
Je suis vraiment coincé avec ça. Appréciez toute aide.
Merci. Velu