2017-02-09 9 views
0

Google App Engineの電子メールコードを使用して電子メールを送信するGWTプロジェクトで作業しています。以下は、電子メールの送信に使用しているコードです。時々電子メールがGoogleアプリケーションエンジンで送信されない

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

このコードを使用すると、電子メールが送信されないことがあります。電子メールが送信されない場合は、ログメッセージReady To send Emailが表示されますが、ログメッセージEmail sent Successfully !!!!は表示されません。

電子メールが送信されると、ログメッセージが表示されます。 Email sent Successfully !!!!
通常はメールを受信しますが、メールは送信されません。

どうしたのですか?

+0

ようprops.put(key, value);

クォータを送信したメール内にありますか?あなたのemailFromアドレスは許可されていますか? – Aaron

+0

はい私は午前です。はいアドレスから電子メールを受け入れ –

答えて

0

あなたpropsべきprops.load(.properties FileInputStream);またはこの

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

または

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); 
+0

上記のように応答を感謝djzhao上記のコードを使用してプロパティを使用して私は電子メールを取得していますが、私はあなたの上記の提案のプロパティの変更を使用して電子メールを取得しない場合があります毎回メールを送信します –

+0

@ djzhao prop.put( "mail.smtp。ホスト "、"ローカルホスト ");私はその値を変更する必要がありますサーバー上で展開している場合は、これは常にlocalhostですか?サーバーの価値は何ですか? –

+0

はい、ローカルホストをメールサーバーアドレスに変更する必要があります。@ Vijay Chougule – djzhao

関連する問題