2010-09-23 4 views
2

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

Répondre

0

Avez-vous essayé de consigner les exceptions? Je parie que l'un d'entre eux est lancé - votre printStackTrace ira nulle part.

Questions connexes