2017-02-09 3 views
0

Я работаю в проекте с GWT, используя код электронной почты Google App Engine для отправки электронной почты. Ниже приведен код, который я использую для отправки электронной почты:Иногда Электронная почта не отправляется в 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(); 
} 

Используя этот код, иногда письмо не отправляется. Всякий раз, когда электронная почта не отправляется, я могу видеть сообщение журнала Ready To send Email, но не сообщение журнала Email sent Successfully !!!!.

Когда письмо отправлено, я получаю сообщение журнала; Email sent Successfully !!!!.
Обычно я получаю электронные письма, но иногда письма не отправляются.

Что я сделал не так?

+0

вы в электронной почте отправки квоты? Разрешен ли ваш адрес электронной почты? – Aaron

+0

да, я. да адрес электронной почты с адреса разрешен –

ответ

0

ваш 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); 

или

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. host "," localhost "); это всегда localhost, если я развертываю на сервере, тогда я должен изменить его значение? и каково значение для сервера? –

+0

Да, вам нужно изменить localhost на адрес вашего почтового сервера. @ Vijay Chougule – djzhao

Смежные вопросы