Java 有时不在谷歌应用程序引擎上发送电子邮件

Java 有时不在谷歌应用程序引擎上发送电子邮件,java,email,google-app-engine,gwt,Java,Email,Google App Engine,Gwt,我在GWT的一个项目中工作,使用Google App Engine电子邮件代码发送电子邮件。以下是我用来发送电子邮件的代码: try { System.out.println("Inside Try Block"); Properties props=new Properties(); Session session=Session.getDefaultInstance(props,null); Message message = new MimeMessage(

我在GWT的一个项目中工作,使用Google App Engine电子邮件代码发送电子邮件。以下是我用来发送电子邮件的代码:

try {
    System.out.println("Inside Try Block");
    Properties props=new Properties();
    Session session=Session.getDefaultInstance(props,null);
    Message message = new MimeMessage(session);
    Multipart multiPart=new MimeMultipart();

    // To Mail  Address
    message.setFrom(new InternetAddress(myEmail));
    message.addRecipient(Message.RecipientType.TO,new InternetAddress(myEmail));

    // Email To to Multiple Recipients 
    InternetAddress[] mailToMultiple = new InternetAddress[toEmailIdArray.length];
    for( int i=0; i<toEmailIdArray.length; i++ ){
        mailToMultiple[i] = new InternetAddress(toEmailIdArray[i]);
    }
    message.setRecipients(Message.RecipientType.TO,mailToMultiple );

    // Email CC to Multiple Recipients 
    InternetAddress[] ccmailToMultiple = new InternetAddress[ccEmailIdArray.length];
    for( int i=0; i<ccEmailIdArray.length; i++ ){
        ccmailToMultiple[i] = new InternetAddress(ccEmailIdArray[i]);
    }
    message.setRecipients(Message.RecipientType.CC, ccmailToMultiple);
    //below line for add BCC if needed then uncomment 
    //message.setRecipient(Message.RecipientType.BCC, new InternetAddress(approverEmail));

    // Mail Subject
    message.setSubject(mailSub);
    message.setText(message1);

    logger.log(Level.SEVERE, "Ready To send Email");
    Transport.send(message);
    logger.log(Level.SEVERE,"Email sent Successfully !!!!")

} catch (Exception e) {
   e.printStackTrace();
}
试试看{
System.out.println(“内部试块”);
Properties props=新属性();
Session Session=Session.getDefaultInstance(props,null);
Message Message=新的mimessage(会话);
Multipart Multipart=新的MimeMultipart();
//邮寄地址
message.setFrom(新Internet地址(myEmail));
message.addRecipient(message.RecipientType.TO,新Internet地址(myEmail));
//向多个收件人发送电子邮件
InternetAddress[]mailToMultiple=新的InternetAddress[toEmailIdArray.length];

对于(int i=0;i您的
props
应该
props.load(.properties FileInputStream);
props.put(key,value);

像这样

    Properties prop = new Properties();
    prop.load(new FileInputStream(SendTextMail.class.getResource("/mail.properties").getPath()));
    Session session = Session.getDefaultInstance(prop);


您是否在电子邮件发送配额内?是否允许您的emailFrom地址?是的,我是。是的,emailFrom地址AllowedJZhao感谢您的回复,因为上面提到的代码使用了属性,我收到了电子邮件,但有时我没有收到电子邮件,因此使用您的上述建议属性更改将电子邮件发送everytime@djzhao prop.put(“mail.smtp.host”,“localhost”);如果我在服务器上部署,那么是否始终使用localhost?服务器的值是多少?是的,您需要将localhost更改为您的电子邮件服务器地址。@Vijay Chougule
    Properties prop = new Properties();
    prop.put("mail.transport.protocol", "smtp");
    prop.put("mail.smtp.host", "localhost");
    prop.put("mail.smtp.port", 25);
    prop.put("mail.smtp.auth", "true");
    prop.put("mail.debug", "true"); 
    Session session = Session.getDefaultInstance(prop);