Google App Engine Java Mail存在奇怪问题

时间:2010-09-23 08:48:56

标签: google-app-engine

我正在使用Google App Engine的MailService功能 应用。它在一个应用程序中运行正常,没有任何问题 但是相同的代码在另一个应用程序中不起作用。我无法想象 出来。请帮忙。以下是我用过的代码片段 发送邮件。

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()); 
                } 
        } 

当我查看日志(在服务器管理控制台上)时,它会打印出来 声明“内容已设置......”之后,没有任何内容 登录。邮件未发送。有时我得到以下错误 打印上述声明(并且不发送邮件)。

com.google.appengine.repackaged.com.google.common.base.internal.Finalizer getInheritableThreadLocalsField:无法访问 Thread.inheritableThreadLocals。引用终结器线程将 继承线程本地值。

但邮件配额使用量不断增加。

请记住,这在一个应用程序中工作正常,但在其他应用程序中没有。我 在两个应用程序中使用相同的电子邮件地址集(用于和 至)。

我真的很困惑。感谢任何帮助。

谢谢。 Velu

1 个答案:

答案 0 :(得分:0)

您是否尝试过记录例外情况?我敢打赌其中一个被抛出 - 你的printStackTrace将无处可去。